Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/284.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 通过c将winform中的值传递给crystal report text对象#_C#_Winforms_Visual Studio 2010_Crystal Reports_Crystal Reports Viewer - Fatal编程技术网

C# 通过c将winform中的值传递给crystal report text对象#

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

我是C#编程的新手,也是Crystal Report。 我面临一个问题,即通过C#(VS10)将用户从WinForm输入的值发送到Crystal Report。我只需要在报告标题中将输入值显示为文本对象。我已经在寻找解决方案,但我仍然不知道我的代码出了什么问题

我创建了一个连接到查看器的crystal报表。 这是我的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文件的报表作为其数据源。 如果我在代码底部添加两行代码,如下所示:

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();
}