0
我是C#編程和Crystal Report中的新手。 我遇到了一個問題,要發送一個用戶從WinForm輸入的值,以通過C#(VS10)在Crystal Report上顯示。我只需要將輸入值顯示爲報表標題中的文本對象。我已經尋找解決方案,但我仍然不知道我的代碼中有什麼問題。通過C#從winform傳遞一個值到水晶報表文本對象#
我創建了一個連接到它的查看器的水晶報告。 這裏是我的WinForm的代碼
private void btnSubmit_Click(object sender, EventArgs e)
{
crRpt TI = new crRpt();
CrystalReportViewer crv = new CrystalReportViewer();
TextObject tiNo = (TextObject)TI.ReportDefinition.Sections["Section2"].ReportObjects["TIN"];
tiNo.Text = txtTI.Text.toString();
crv.Visible = false;
crv.ReportSource = TI;
ShowDialog(crv);
}
它返回一個錯誤說:
形式,是早已不能顯示爲模式對話框可見。在調用showDialog之前,將表單的visible屬性設置爲false。
即使我已經把 - > crv.visible = false。
我從Crystal Report Viewer中看到,WinForm自動生成一個代碼來顯示連接到excel文件作爲其數據源的報告。 如果我添加2行代碼轉換成代碼的底部象下面這樣:
displayCR_form dispCR = new displayCR_form();
dispCR.ShowDialog();
和備註 - >的ShowDialog(CRV);
該報告將顯示,但仍與我已分配的空白文本對象一起顯示。 我錯過了什麼?請幫忙。謝謝。
根據MSDN的 「的CrystalReportViewer」 是一個用戶控件。要顯示「對話框」,你需要一個窗口。什麼是「displayCR_form」? –
您的報告是否使用存儲過程?如果是這樣,你可以將文本傳遞給你的proc作爲變量,並以這種方式顯示在報告中? –
@Björn我得到了我的錯誤。displayCR_form是一個winform,裏面有CR查看器。 我把CR瀏覽器放在texbox放置的同一個winform中。它解決了這個問題。感謝你們 – redsuitee