错误:"以下方法或属性之间的调用不明确"?

时间:2014-11-14 14:05:41

标签: c# report reporting

运行项目时,会显示以下错误消息:

  

以下方法或属性之间的调用不明确:'Microsoft.Reporting.WinForms.ReportDataSource.ReportDataSource(string,System.Collections.IEnumerable)'和'Microsoft.Reporting.WinForms.ReportDataSource.ReportDataSource(string,System。 Data.DataTable)。

为什么?

firstReportDBDataContext dc = new firstReportDBDataContext();
    private void Form1_Load(object sender, EventArgs e)
    {
        dsFirstReport.dtLoaiHangDataTable dt = new dsFirstReport.dtLoaiHangDataTable();
        var query = from a in dc.tblLoaiHangHoas
                    select a;
        foreach (tblLoaiHangHoa a in query)
        {
            dt.Rows.Add(a.MaLoai, a.TenLoai);
        }
         this.reportViewer1.LocalReport.DataSources.Add(new ReportDataSource("dsFirstReport_DataSet1",dt));
        this.reportViewer1.RefreshReport();

    }

1 个答案:

答案 0 :(得分:2)

从错误消息中可以清楚地看到,dsFirstReport.dtLoaiHangDataTable类型继承了DataTable类型并实现了IEnumerable

您可以通过将参数转换为其中一个来解决编译器的歧义。 E.g:

reportViewer1.LocalReport.DataSources.Add(
    new ReportDataSource("dsFirstReport_DataSet1", (IEnumerable)dt));