winforms 如何在报表查看器中添加参数?

9fkzdhlc  于 2023-05-18  发布在  其他
关注(0)|答案(4)|浏览(135)

HY!我有一个Visual Studio 2010中的表单应用程序,我想用报表查看器创建一个报表,并添加一些参数。我试图从代码中添加参数,但它没有工作。我有这个错误:
tablix“Tablix 1”的FilterExpression表达式引用字段“datastart”。报表项表达式只能引用当前数据集范围内的字段,如果在聚合内,则只能引用指定数据集范围内的字段。Report2.rdlc:错误rsParameterReference:tablix“Tablix 1”的FilterValue表达式引用了不存在的报表参数“datastart”。
在我的代码a中这样做:

private void SetReportParameters()
    {
        ReportParameter[] parameters = new ReportParameter[2];
        parameters[0] = new ReportParameter("datastart", dateTimePickerStartRaport.Text);
        parameters[1] = new ReportParameter("dataStop", dateTimePickerStopRaport.Text);
        this.reportViewer1.LocalReport.SetParameters(parameters);
    }

调用此方法后,在报表查看器上刷新

reportViewer1.RefreshReport();

我也看了其他论坛,我看到我必须添加的参数报告,但我没有管理出我必须如何做到这一点。我还尝试在报表的属性窗口中添加一些具有值的过滤器

=Parameters!datastart.Value

但这也不管用。

xn1cxnb4

xn1cxnb41#

您得到的错误是因为您试图像指定字段一样指定参数。在表达式设计器中,你有一个特殊的类别叫做“参数”。您可以在这里访问参数。语法是=Parameters![FieldName].Value。例如=Parameters!datastart.Value
此外,请注意,参数必须在“报告数据”窗口中的“参数”下声明。它与用于声明记录集的窗口是同一个窗口,但是也有一个特殊的参数类别。还有一些数据类型的选项,以及参数的指定是否是强制性的。

ny6fqffe

ny6fqffe2#

因此,当您创建报告定义(rdl或rdlc文件)时,您必须添加具有完全相同名称的参数。因此,对于您的情况,您必须添加datastartdataStop参数。要做到这一点,只需单击报表数据窗口中的参数,然后单击添加新项。

cwxwcias

cwxwcias3#

试试这个:

ReportParameter PrmInvoiceNo = new ReportParameter("PrmInvoiceNo");
PrmInvoiceNo.Values.Add(this.InvNo.ToString());
this.reportViewer1.LocalReport.SetParameters(PrmInvoiceNo);
mm5n2pyu

mm5n2pyu4#

开发者:来自Wide Vision Kashmir的Bilal Ahmad**=FormatNumber(CDec((参数!prmInstallment1.Value))+ CDec((参数!分期付款2.Value)))***

相关问题