【问题标题】:Print RDLC using Dataset without Database in C#在 C# 中使用没有数据库的数据集打印 RDLC
【发布时间】:2014-02-28 02:52:09
【问题描述】:

我有一个应用程序可以打印文本框内的所有数据。所以这意味着我没有数据库

我使用 RDLC 来完成打印过程。我将每个文本框的参数设置到我的报告中并添加此代码,以便将文本框的文本传输到报告中。

  ReportParameter textbox1param = new ReportParameter("textbox1", textbox1.Text);
  printform.reportViewer1.LocalReport.SetParameters(textbox1param);

我的问题是,当我这样做时,它会使我的系统在打印时崩溃,因为我多次重复此代码只是为了在我的表单中传输每个文本框的文本。 (我重复了 10 次代码,只更改了文本框的名称和参数名称。)

我看到还有另一种使用数据集的方法。我的问题是我不使用数据库,因为我只是在屏幕上打印用户输入的内容。所以我无法为它创建查询。我还有其他方法可以解决这个困境吗?谢谢各位!

【问题讨论】:

  • 您找到解决问题的方法了吗?
  • @Raphael 还没有,先生,您能提供一些建议吗?

标签: c# .net winforms dataset rdlc


【解决方案1】:

我刚刚尝试在不向报告中添加数据源的情况下制作报告示例,它对我来说效果很好。即使创建没有数据源的报告也有点奇怪。这是我所做的,我首先创建了一个带有 3 个参数的虚拟报告,并将其分配给报告查看器

之后我进行了一些编码,因为您要查找的内容不应该那么复杂,这里我向您展示我的代码 sn-p,以填充我调用函数的参数,但这不是必需的。如果报告不起作用,可能是因为您拼错了参数名称(它们区分大小写!)

private void Form2_Load(object sender, EventArgs e)
{
     reportViewer1.LocalReport.SetParameters(SetParameter());
     reportViewer1.RefreshReport();
}

private static IEnumerable<ReportParameter> SetParameter()
{
     return new List<ReportParameter>
     {
         new ReportParameter("Param1", "text1", false),
         new ReportParameter("Param2", "text2", false),
         new ReportParameter("Param3", "text3", false)
     };
 }

这样做并运行我的小样本后,这是输出,我不确定您的报告出了什么问题。但正如我之前所说,我会检查参数名称是否按照您在 rdlc 上声明的方式编写

【讨论】:

    猜你喜欢
    • 2021-11-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-22
    • 1970-01-01
    相关资源
    最近更新 更多