2011-03-02 28 views

回答

11

您可以在運行時更改文本框文本。你可以這樣使用:

using CrystalDecisions.CrystalReports.Engine; 

rptMyReport report = new rptMyReport(); 
TextObject to = (TextObject)report.ReportDefinition.Sections["Section2"].ReportObjects["textboxname"]; 
to.Text = newvalue; 

另一種方法是使用參數。

+0

CrystalDecisions.CrystalReports.Engine命名空間。 – buda 2011-03-02 23:08:23

+0

你需要addreference,它位於我的文件夾C外殼:\程序文件(x86)\企業\ 2.8 \管理\ CrystalDecisions.CrystalReports.Engine.dll如果你沒有它alredy在GAC – buda 2011-03-02 23:13:31

+0

大對象\常見: )這樣,您可以在運行時更改報表上的每個對象。 – buda 2011-03-02 23:17:42

2

如果將報告打開之前,你可以在參數字段(字符串)添加到報告,然後把那場在哪裏,你希望它在運行時出現的報告具有的用戶名。您只需要將它作爲參數傳遞到報告中,就像您使用其他參數一樣。

Dim UserName As String = "BukHix" 
    crDOC.SetParameterValue("UserName", UserName) 
+0

+1偉大的工作。 – Student 2011-03-02 23:36:52

2

試試這個

((TextObject)rpt.Section2.ReportObjects["Textbox"]).Text = "yourvalue"; 
+0

它非常棒,沒有ReportDefinition。 – Student 2011-03-02 23:32:21

+0

它應該在哪裏完成?在託管Report Viewer的表單上? – Volatil3 2013-05-10 18:30:33