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