报表查看器集参数iList参数错误

时间:2012-11-16 11:44:23

标签: c# visual-studio-2012 return reportviewer ilist

早上好,

使用Visual Studio 2012 Ultimate和C#.NET 4.0。

IList<Microsoft.Reporting.WinForms.ReportParameter> param = new List<Microsoft.Reporting.WinForms.ReportParameter>();

param = repsetup.NewReportSetup(
    txtNewPart.Text.ToString(),
    txtBatch.Text.ToString(), 
    txtLocation.Text.ToString(), 
    txtWheel.Text.ToString(), 
    txtGear.Text.ToString(), 
    txtLength.Text.ToString(),
    txtFits.Text.ToString(), 
    txtNewBar.Text.ToString(), 
    txtNewBarNum.Text.ToString(), 
    txtABS.Text.ToString()
);

reportViewer1.LocalReport.SetParameters(new Microsoft.Reporting.WinForms.ReportParameter(param));

当尝试设置报告参数时,它会抱怨列表。 该列表填充在另一个表中并返回一个列表。

Error 2 - Argument 1: cannot convert from 'System.Collections.Generic.IList<Microsoft.Reporting.WinForms.ReportParameter>' to 'string'

也是错误:

Error 1 - The best overloaded method match for 'Microsoft.Reporting.WinForms.ReportParameter.ReportParameter(string)' has some invalid arguments

如何在IList方法中使用SetParameters

非常感谢

以下是NewReportSetup方法:

public IList<Microsoft.Reporting.WinForms.ReportParameter> NewReportSetup(string part, string batch, string locn, string wheel, string gear, string length,
                                string fits, string newbar, string newbarnum, string abs)
{
    IList<Microsoft.Reporting.WinForms.ReportParameter> parameters = new List<Microsoft.Reporting.WinForms.ReportParameter>();
    parameters.Add( new Microsoft.Reporting.WinForms.ReportParameter("paramPart", part));
    parameters.Add( new Microsoft.Reporting.WinForms.ReportParameter("paramBatch", batch));
    parameters.Add( new Microsoft.Reporting.WinForms.ReportParameter("paramLocn", locn));
    parameters.Add( new Microsoft.Reporting.WinForms.ReportParameter("paramWheel", wheel));
    parameters.Add( new Microsoft.Reporting.WinForms.ReportParameter("paramGear", gear));
    parameters.Add( new Microsoft.Reporting.WinForms.ReportParameter("paramLength", length));
    parameters.Add( new Microsoft.Reporting.WinForms.ReportParameter("paramABS", abs));
    parameters.Add( new Microsoft.Reporting.WinForms.ReportParameter("paramBuyer", fits));
    parameters.Add( new Microsoft.Reporting.WinForms.ReportParameter("paramBarCode", newbar));
    parameters.Add( new Microsoft.Reporting.WinForms.ReportParameter("paramBartxt", newbarnum));
    return parameters;
}

1 个答案:

答案 0 :(得分:1)

Report.SetParameters方法需要IEnumerable<ReportParameter>

换句话说,将您的报告参数列表发送到此方法,而不是ReportParameter的实例(您尝试从列表中创建):

reportViewer1.LocalReport.SetParameters(param);