更改水晶报表中的列字体样式运行时
本文关键字:字体 样式 运行时 水晶 报表 | 更新日期: 2023-09-27 18:35:28
我的项目中有使用数据集设计的 Crystal 报告(在语言 1、语言 2 中具有列名的表)。
此数据集由来自数据库的一个表的数据填充,每个表都有两列,以两种不同的语言存储名称。
例如:表 1 的名称为印地语和英语。表 2 的名称为英语和印地语。表3有卡纳达语和印地语的名称。
当我使用前端 (C#) 将名称存储在这些表中时,我已经为文本框设置了相应的字体类型,以使用该语言键入名称。(对于印地语,我已将文本框字体设置为"Devnagri",我已经安装在我的系统上,因此将显示在文本框属性资源管理器中。对于英语,字体类型是Arial)。此数据存储在相应的表中。
现在,当我在运行时获取表数据并填充数据集时,它工作正常。但是,我还想在要打印的报表中设置列的字体。
例如:对于表1,在Crystal报表中,我想将"Devnagri"设置为第一列的字体,将第二列的字体设置为"Arial",如果数据集填充了table2中的数据,我想将报表第一列的字体属性设置为"Arial",将第二列设置为"Devnagri"
因此,请建议一种在 C# 中为 Crystal 报告进行此字体设置的方法。
在水晶报告中更改字体样式,字体大小和运行时字体使用以下代码,这将正常运行:
您可以根据您的条件使用 TextObject 或 FieldObject。这里使用的是 TextObject。
TextObject MyText = (TextObject)Repotrdocumentobject.ReportDefinition.ReportObjects[i];
MyText.ApplyFont(new Font("Arial", 11f,FontStyle.Bold));
这里我是水晶报告中文本对象的数量,11f 是字体大小
这里有一个链接。 它显示了如何更改FieldObject
的字体。
例如:
FieldObject field;
field = Report.ReportDefinition.ReportObjects[reportObjectName] as FieldObject;
field.ApplyFont(YourFont);
由于字体的名称存储在表中,因此您应该能够根据存储在那里的FontFamily
制作字体。
我假设您正在使用标准TextObjects
来显示值,因此在这种情况下,这应该对您有用。