关于水晶报表的问题?
我定义了10几张 crystal report,要实现功能为:
可以通过下拉列表选择生成其中某一张报表,也可以选择生成所有报表,当选择生成所有报表时,希望以主报表和
子报表的形式展现,即可以通过CrystalReportViewer的前后“切换键”,切换报表。
首先,我定义了一张报表,然后通过节专家,添加了多个节,在节里面把其他的所有报表通过添加子报表的方式添
加进去。但是我的很多子报表的数据源是通过后台代码赋值,而不是绑定数据源,如:
CrystalDecisions.CrystalReports.Engine.TextObject textMingCheng;
YBDModel.YBDFirstShanDongTV report = new YBDModel.YBDFirstShanDongTV();//声明1号预报单对象
textMingCheng = (CrystalDecisions.CrystalReports.Engine.TextObject)report.ReportDefinition.ReportObjects["txtPublishUnit"];
textMingCheng.Text = "发布单位×××"; //给1号预报单赋值
…………………………
…………………………
最后CrystalReportViewer.ReportSource = report;
使用这种赋值方式,在1号报表单独作为报表显示时正常,但作为子报表加载时,就无法自动获得报表值,再次采用上面的赋值方法:
YBDModel.YBDTotal reportOne = new YBDModel.YBDTotal();
textMingCheng = (CrystalDecisions.CrystalReports.Engine.TextObject)reportOne.DetailSection1.ReportObjects["txtPublishUnit"]; //报表1作为子报表加载在了reportOne的DetailSection1中。
系统报错,显示超出索引。
请教大神,我该如何改进,如何实现预期的功能。