C# 通过c将winform中的值传递给crystal report text对象#
我是C#编程的新手,也是Crystal Report。 我面临一个问题,即通过C#(VS10)将用户从WinForm输入的值发送到Crystal Report。我只需要在报告标题中将输入值显示为文本对象。我已经在寻找解决方案,但我仍然不知道我的代码出了什么问题 我创建了一个连接到查看器的crystal报表。 这是我的WinForm代码C# 通过c将winform中的值传递给crystal report text对象#,c#,winforms,visual-studio-2010,crystal-reports,crystal-reports-viewer,C#,Winforms,Visual Studio 2010,Crystal Reports,Crystal Reports Viewer,我是C#编程的新手,也是Crystal Report。 我面临一个问题,即通过C#(VS10)将用户从WinForm输入的值发送到Crystal Report。我只需要在报告标题中将输入值显示为文本对象。我已经在寻找解决方案,但我仍然不知道我的代码出了什么问题 我创建了一个连接到查看器的crystal报表。 这是我的WinForm代码 private void btnSubmit_Click(object sender, EventArgs e) { crRpt TI = new cr
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文件的报表作为其数据源。
如果我在代码底部添加两行代码,如下所示:
displayCR_form dispCR = new displayCR_form();
dispCR.ShowDialog();
和备注->显示对话框(crv)
报告将出现,但仍然是我已经分配的空白文本对象。
我错过了什么?请帮忙。谢谢。根据MSDN,“CrystalReportViewer”是一个用户控件。要显示“对话框”,您需要一个窗口。什么是“显示格式”?您的报表是否使用存储过程?如果是这样,您可以将文本作为变量传递给您的进程,并以这种方式显示在报告中?@Björn我弄错了。。displayCR_表单是一个winform,其中包含CR查看器。我将CR查看器放在texbox放置的winform中。它解决了这个问题。谢谢你们
private void btnSubmit_Click(object sender, EventArgs e)
{
crRpt TI = new crRpt();
CrystalReportViewer crv = new CrystalReportViewer();
Form frmCrViewer = new Form();
frmCrViewer.Controls.Add(crv);
TextObject tiNo = (TextObject)TI.ReportDefinition.Sections["Section2"].ReportObjects["TIN"];
tiNo.Text = txtTI.Text.toString();
crv.ReportSource = TI;
crv.Dock = Fill;
frmCrViewer.ShowDialog();
}