如何使用代码动态设置水晶报表中的文本,字段等对象

如题所述

首先,你必须要声明一个OBJECT变量(eg. TextObject, FieldObject, ......),当然不是一般的对象,而是:
Dim xObject As CrystalDecisions.CrystalReports.Engine.FieldObject(字段)
Dim xObject As CrystalDecisions.CrystalReports.Engine.TextObject(文本)
  Dim xObject As CrystalDecisions.CrystalReports.Engine.LineObject(线条)
Dim xObject As CrystalDecisions.CrystalReports.Engine.BoxObject(矩形框)
......
其次,你必须将水晶报表的真实对象赋值给它,例如:
xObject = crReport.ReportDefinition.ReportObjects.Item("FieldObjectName")
xObject = crReport.ReportDefinition.ReportObjects.Item("TextObjectName")
xObject = crReport.ReportDefinition.ReportObjects.Item("LineObjectName")
xObject = crReport.ReportDefinition.ReportObjects.Item("BoxObjectName")
......
然后,你就可以调用它的各种属性和方法了:
对于FieldObject,你可以:
   1.设置数值字段的小数点位数:
xObject.FieldFormat.NumericFormat.DecimalPlaces = 4
2.设置布尔字段的输出类型: 
xObject.FieldFormat.BooleanFormat.OutputType =CrystalDecisions.Shared.BooleanOutputType.YesOrNo
3.设置其他格式如(CommonFormat,DateTimeFormat,DateFormat,TimeFormat)
老实说,水晶报表每做一张报表都要选表,画线画格子,确实比较麻烦,其实现在的商业报表发展的也很成熟了,像finereport这些的都有模板库,做报表都可以从这些模板中选,避免了每次画报表的麻烦,而且支持选择动态选择列,选择列后能报表能自动适用这个变化,这些功能如果都要用代码的话,也就。。。
温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答