我是 C# 编程和 Crystal Report 的新手。我遇到了一个问题,即通过 C# (VS10) 发送用户从 WinForm 输入的值以在 Crystal Report 上显示。我只需要将输入值显示为报表标题中的文本对象。我已经在寻找解决方案,但我仍然不知道我的代码有什么问题。
我创建了一个与其查看器相连的水晶报表。这是我的 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 之前将窗体的可见属性设置为 false。
即使我已经放了-> crv.visible = false。
我从 Crystal Report Viewer 中看到,WinForm 自动生成了一个代码来显示连接到 Excel 文件作为其数据源的报表。如果我在代码底部添加 2 行代码,如下所示:
displayCR_form dispCR = new displayCR_form();
dispCR.ShowDialog();
并备注 -> ShowDialog(crv);
报告将出现,但仍带有我已经分配的空白文本对象。我错过了什么?请帮忙。谢谢你。