日期:2014-05-18  浏览次数:20832 次

如何访问水晶报表内的对象的值? - Web 开发 / 非技术区
如何访问水晶报表内的对象的值?
例如我想访问报表内某个公式的结果值. 或者某个汇总字段的值
我知道通过以下方法可以访问对象,但并不能取得值, 不知道是否有方法可以取得值
  ReportClass.DataDefinition.FormulaFields(0).Text //这样取出的只是计算公式的字符串,如:a+b ,并不是a+b的结果.
  ReportClass.DataDefinition.RunningTotalFields(0).xxx
类似情况:ReportClass.ReportDefinition.ReportObjects(i) 可以取得报表内所有对象,但都只是初始定义的信息,并不是结果. 



------解决方案--------------------
将该对象赋给参数不可以吗?
------解决方案--------------------
using CrystalDecisions.CrystalReports.Engine;

TextObject title_assistant = (TextObject)this.crP_Benefit_Money1.ReportDefinition.ReportObjects["文本的名字"];
Titel_Main.Text
不知道这个能取到不?
试试
------解决方案--------------------
ReportClass.ReportDefinition.ReportObjects(i) 
可以取到值
但是要等水井报表
加载完毕以后
我做了一个按纽给试出来的

估计是水晶报表使用的是委托,不能直接跟在代码后面取值
this.crP_Benefit_Money1.SetDataSource(dataSet);

this.crystalReportViewer1.ReportSource = this.crP_Benefit_Money1;
using CrystalDecisions.CrystalReports.Engine; 

TextObject title_assistant = (TextObject)this.crP_Benefit_Money1.ReportDefinition.ReportObjects["文本的名字"]; 
String mmm = Titel_Main.Text

这样是没有的
------解决方案--------------------
还有就是自己编写代码
在水晶报表里
但是提拖动界面,自动就会把你的代码给覆盖掉了
但是不拖动界面重新生成代码,
也是可以获取到的
------解决方案--------------------
要等加载之后了,你要取的是公式的值,公式首先要自己计算的,
------解决方案--------------------
可以以你表示汇总数据的哪个控件的名称来搜索 报表中的控件,然后再获取对象的值,就可以了呀
------解决方案--------------------
UP
------解决方案--------------------
up
------解决方案--------------------
顶起