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

 我来答
基调那史蒂夫
2015-11-10 · 超过56用户采纳过TA的回答
知道答主
回答量:96
采纳率:0%
帮助的人:79.2万
展开全部
首先,你必须要声明一个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这些的都有模板库,做报表都可以从这些模板中选,避免了每次画报表的麻烦,而且支持选择动态选择列,选择列后能报表能自动适用这个变化,这些功能如果都要用代码的话,也就。。。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式