为什么我没有在 C# 的 reportviewer 中获取表格格式的数据表

Why I am not getting datatable in tabular format in reportviewer in C#

我没有获取我在报表查看器中创建的数据table。我在报表查看器中获取报表参数,但没有 table。请帮我解决这个问题。提前致谢。

        DataTable dt = new DataTable("Type-1");
        dt.Columns.Add("Column1", typeof(string));
        dt.Columns.Add("Column2", typeof(string));
        dt.Columns.Add("Column3", typeof(string));
        dt.Columns.Add("Column4", typeof(string));
        dt.Columns.Add("Column5", typeof(string));

        dt.Rows.Add("0.4", "1", "3.0","0.95-1.0-1.05", "Test1");
        dt.Rows.Add("7.0", "1", "3.0","1.68-1.76-1.85", "Test2");

        var reportDataSource1 = new ReportDataSource("Type-1", dt);
        this.reportViewer1.LocalReport.DataSources.Add(reportDataSource1);
        this.reportViewer1.LocalReport.ReportEmbeddedResource = "Test.Report1.rdlc";

        reportViewer1.LocalReport.SetParameters(new ReportParameter("RP_SrNo", _SrNo));
        reportViewer1.LocalReport.SetParameters(new ReportParameter("RP_TestType", _TestType));
        reportViewer1.LocalReport.SetParameters(new ReportParameter("RP_Date", _Date));
        this.reportViewer1.RefreshReport();

您可以使用数据集进行尝试。按照以下步骤操作 1. 向您的项目添加一个新的数据集。 2. 转到数据集和一个新的数据table。 3.在DataTable上右击添加列 4.在columns上定义dataTypes等属性 5. 转到您的报表设计器以添加您刚刚创建的数据集。 6. 在报表数据面板中右击数据集然后添加数据集。 7. 为您的 DataSet 命名,即 DataSet1 -> Select datasource to the dataset you created earlier -> Available Datasets select the dataTable you added. 8. Design report -> Insert a table on your report 并选择要显示的数据。 9. 现在你的代码应该如下所示。

//Report Source
this.reportViewer1.LocalReport.ReportEmbeddedResource = "Test.Report1.rdlc";

//Set Parameters
reportViewer1.LocalReport.SetParameters(new ReportParameter("RP_SrNo", _SrNo));
reportViewer1.LocalReport.SetParameters(new ReportParameter("RP_TestType", _TestType));
reportViewer1.LocalReport.SetParameters(new ReportParameter("RP_Date", _Date));

//Prepare datasource (These should be the same columns as on step 3)
DataTable dt = new DataTable("Type-1");
dt.Columns.Add("Column1", typeof(string));
dt.Columns.Add("Column2", typeof(string));
dt.Columns.Add("Column3", typeof(string));
dt.Columns.Add("Column4", typeof(string));
dt.Columns.Add("Column5", typeof(string));

dt.Rows.Add("0.4", "1", "3.0","0.95-1.0-1.05", "Test1");
dt.Rows.Add("7.0", "1", "3.0","1.68-1.76-1.85", "Test2");

//Add dataset as defined in step 7
var reportDataSource1 = new ReportDataSource("DataSet1", dt);
this.reportViewer1.LocalReport.DataSources.Add(reportDataSource1);
this.reportViewer1.RefreshReport();

希望对您有所帮助。