說句老實話,國內企業的報表太復雜,有些報表用Crystal report真是無法做得出來,沒辦法的情況下,只好在報表設計時加入一些未綁定的文字框,現在我的問題是能在程序中直接操作這些文字框嗎?比如,我有一個rpt文件,上面有一個UnboundString文字框.
我用一個ReportDocument參照到這個rpt文件,按資料上來說這就是一個有類型的rpt.那么:ReportDocument.Section3.ReportObjects["UnboundString1"]沒有Text屬性也沒有Value屬性,它甚至是唯讀的,那么有什么辦法可以直接地給這個UnboundString1指定值呢?
我用一個ReportDocument參照到這個rpt文件,按資料上來說這就是一個有類型的rpt.那么:ReportDocument.Section3.ReportObjects["UnboundString1"]沒有Text屬性也沒有Value屬性,它甚至是唯讀的,那么有什么辦法可以直接地給這個UnboundString1指定值呢?
CrystalDecisions.CrystalReports.Engine.TextObject txt=(CrystalDecisions.CrystalReports.Engine.TextObject) rpt.ReportDefinition.ReportObjects["Text2"];
txt.Text ="從 "+this.dateTimePicker1.Value.ToShortDateString() +" 到 "+this.dateTimePicker2.Value.ToShortDateString();
TextObject text; // 按名称获取 ReportObject,将其转换为 TextObject,
//并返回此对象。
text = report.ReportDefinition.ReportObjects[reportObjectName] as TextObject;
if (text != null) return text;
else return null;
Crystal Report中可插入文本对象```
然后在代码中
((CrystalDecisions.CrystalReports.Engine.TextObject)报表对象名称.Section6(报表中Section的名称`必须对应).ReportObjects["tno"(文本对象的名称)]).Text