2016-03-15 80 views
1

我是新创建报表。在完成MSDN后,我创建了一个表并将其附加到reportViewer,但它没有显示任何内容。我有没有做错任何事情?使用datatable for reportviewer c#

DataSet ds = new DataSet("myDataset"); 

// create datatable 
DataTable dt = new DataTable("myDatatable"); 

       // add columns 
dt.Columns.Add("column1", typeof(string)); 
dt.Columns.Add("column2", typeof(string)); 
dt.Columns.Add("column3", typeof(string)); 

// insert data rows 
dt.Rows.Add("row1-col1", "row1-col2", "row1-col3"); 
dt.Rows.Add("row2-col1", "row2-col2", "row2-col3"); 



ds.Tables.Add(dt); 





BindingSource bs = new BindingSource(); 
bs.DataSource = ds; 


ReportDataSource rds = new ReportDataSource(); 
rds.Name = "dsBody"; 
rds.Value = ds.Tables["myDatatable"] ; 


reportViewer1.Reset(); 
reportViewer1.LocalReport.ReportPath = "C:\Temp\Report1.rdlc"; 
reportViewer1.LocalReport.DataSources.Clear(); 
reportViewer1.LocalReport.DataSources.Add(rds); 
reportViewer1.RefreshReport(); 
+0

向我们展示\ Report1.rdlc文件的一个片段?特别是dsBody部分,你所有的DataSet&DataTable代码看起来都很好。 –

+0

Report1.rdlc是空白的,我应该在运行时通过数据表附加数据,我错过了什么? – phpnet

回答

0

这QA有解决方案,就像我说的,你需要的Tablix中,可以动态绑定您的DataTable的RDLC文件。

https://stackoverflow.com/a/22196065

开辟商业智能工作室(它包含在SQL Server报表服务),并插入一个Tablix控件到报告,然后再稍微的Tablix /网格的数据源属性,以配合您的DataTable的名称,保存并在rdlc文件中检查XML。

一旦你得到所有的排序它应该开始工作(你可能会遇到一些奇怪的错误信息,但坚持),从基本开始获取基本数据填充在您的报告。然后用你的生产报告完成它。