C#如何访问水晶报表中的对象,以及动态改变对象的内容?

首先引入命名空间
using CrystalDecisions.CrystalReports.Engine;
比如要访问水晶报表中的文本对象(TextObject),先要实例化一个水晶报表对象。现假设水晶报表的一个文本对象的名称为Text1,内容为“张三
”,现要在代码中把其动态改成“李四”,如下


CrystalReport1 report1=new CrystalReport1();
TextObject text=(TextObject)report1.ReportDefinition.ReportObjects["name"];
text.Text="李四";


注意:
必须保证报表实例的一致性,不能创建多个实例然后对不同报表实例操作,这样虽然能改变text的值,但由于改变的不是要显示的水晶报表实例的text值,不会有效果,上面的report1实例必须是crystalReportViewer1水晶报表查看器的数据源对应的那个报表实例。


其它对象的访问和值的动态改变同上。

posted @ 2010-09-25 13:14  liancs  阅读(184)  评论(0编辑  收藏  举报