不能从'方法组'& # 39; List< DataTable> & # 39;

本文关键字:DataTable List 方法 不能 | 更新日期: 2023-09-27 18:04:25

我的代码中有一个方法:

private void SetSubReportDataSource(CrystalDecisions.CrystalReports.Engine.ReportDocument document, List<DataTable> tables, int counter)
        {
            if (tables.Count > 0)
            {
                System.Data.DataSet reportDataSet = AddTableInReportDataSet(tables);
                CrystalDecisions.CrystalReports.Engine.ReportDocument subReport = document.Subreports[counter];
                subReport.SetDataSource(reportDataSet);
            }
        }

我做了这个:

public List<DataTable> FillSubreport()
        {
            List<DataTable> ldt = new List<DataTable>();
            DataTable dt = new DataTable();
            dt.Columns.Add("SectionID");
            dt.Columns.Add("SectionName");
            dt.Rows.Add(new object[] { "1", "Subreport1"});
            dt.Rows.Add(new object[] { "2", "Subreport1" });
            dt.Rows.Add(new object[] { "3", "Subreport1" });
            ldt.Add(dt);
            return ldt;
        }

当尝试像这样执行第一个方法时:

SetSubReportDataSource(document, FillSubreport , subReportCounter);

FillSubreport被高亮显示,我得到这个错误:

Cannot convert from 'method group' to 'List<DataTable>'

不能从'方法组'& # 39; List< DataTable> & # 39;

您的代码中出现了一个简单的语法错误:

SetSubReportDataSource(document, FillSubreport , subReportCounter);

您正在尝试调用FillSubreport,但您未能将()添加到其末尾以表明它是一个方法。试一试:

SetSubReportDataSource(document, FillSubreport(), subReportCounter);

你也可以这样尝试,

List<DataTable> data = FillSubreport(); 
SetSubReportDataSource(document, data , subReportCounter);