0

我的项目中有水晶报表,它是使用数据集设计的(具有列名 inLanguage1、inLanguage2 的表)。

该数据集填充了来自数据库中一个表的数据,每个表有两列以两种不同的语言存储名称。

例如:表 1 有印地语和英语的名称。表 2 有英文和印地文名称。表 3 有卡纳达语和印地语名称。

当我使用我的前端 (C#) 在这些表中存储名称时,我已经为文本框设置了相应的字体类型,以便以该语言键入名称。(对于印地语,我已将文本框字体设置为已安装在系统上的“Devnagri”,因此将显示在文本框属性资源管理器中。对于英语,字体类型为 Arial)。该数据存储在相应的表中。

现在,当我在运行时获取表数据并填充数据集时,它工作正常。但是,我还想为要打印的报告中的列设置字体。

例如:对于 table1,在 Crystal 报表中,我想将“Devnagri”设置为第一列的字体,将第二列的字体设置为“Arial”,如果数据集填充了来自 table2 的数据,我想将报表第一列的字体属性设置为“ Arial”和“Devnagri”的第二列

因此,请建议一种在 C# 中为 Crystal 报表进行此字体设置的方法。

4

2 回答 2

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是字体大小

于 2015-04-23T06:17:27.887 回答
1

这里有一个链接。它显示了如何更改 a 的字体FieldObject

例如:

FieldObject field;
field = Report.ReportDefinition.ReportObjects[reportObjectName] as FieldObject;
field.ApplyFont(YourFont);

由于字体的名称存储在表中,您应该能够从FontFamily存储在那里的字体中制作字体。

我假设您使用标准TextObjects来显示值,因此在这种情况下,这应该适合您。

于 2012-06-14T15:34:36.523 回答