【发布时间】:2015-01-30 09:33:29
【问题描述】:
我在尝试使用 c# 将 dataTable 绑定到 Winform 中的 ReportViewer 控件时遇到一些问题。
我花了很多时间在这个论坛和其他论坛中寻找解决方案,但遗憾的是到目前为止还没有找到。 我已将调试标记放入我的代码中,并且可以使用正确的 2x2 数组摘要报告“查看”完成的数据表。但是当我尝试将 dataTable 绑定到 ReportViewer 对象时,我得到一个空白屏幕。我确定我的编码中缺少一些简单的东西,但看不到它是什么!!!
以下是我的报告表单的更多详细信息:
- 我有 2 个全局字段定义如下:
/*create global dataTable */ DataTable _dTable = new DataTable("dtQOPS3710"); /* create a new Dataset...*/ Dataset _dSet = new Dataset("psysReporting.dSetReportViewer.xsd");
这是我用来构建数据表并将其绑定到 ReportViewer 的代码:
/向dataTable添加列(共10列)/
_dTable.Columns.Add(new DataColumn("Nationality", typeof(String))); _dTable.Columns.Add(new DataColumn("Total_Females", typeof(String))); _dTable.Columns.Add(new DataColumn("Total_Males", typeof(String))); _dTable.Columns.Add(new DataColumn("Elig.55", typeof(String))); _dTable.Columns.Add(new DataColumn("Elig.56", typeof(String))); _dTable.Columns.Add(new DataColumn("Elig.57", typeof(String))); _dTable.Columns.Add(new DataColumn("Elig.58", typeof(String))); _dTable.Columns.Add(new DataColumn("Elig.25", typeof(String))); _dTable.Columns.Add(new DataColumn("Elig.26", typeof(String))); _dTable.Columns.Add(new DataColumn("Total_Patients", typeof(String))); /* now add the rows */ for (int i = 0; i < _intMaxNoOfRows; i++) { DataRow dataRow = _dTable.NewRow(); for (int j = 0; j < _maxJ; j++) { if (strArrayList[i, 1] != string.Empty) /* column 1 = Nationality */ dataRow[j] = strArrayList[i, j]; } if (strArrayList[i, 1] != string.Empty) /* column 1= Nationality */ { _dTable.Rows.Add(dataRow); } } // add datatable '_dTable' to dataset '_dSet'... _dSet.Tables.Add(_dTable); // bind dataSet to report viewer this.reportViewer1.Reset(); this.reportViewer1.ProcessingMode = ProcessingMode.Local; this.reportViewer1.LocalReport.ReportEmbeddedResource = "psysReporting.Report1.rdlc"; this.reportViewer1.LocalReport.DataSources.Clear(); this.reportViewer1.LocalReport.DataSources.Add(new ReportDataSource(_dTable.TableName, _dTable)); this.reportViewer1.Refresh();
如上所述,我已尝试调试代码,并且可以在 dataTable 中看到正确的报告,但绑定似乎不起作用!运行代码时我没有收到任何错误!
任何帮助将不胜感激!
【问题讨论】:
标签: c# winforms binding datatable reportviewer