2012-01-29 108 views
1

我创建的数据集包含SqlServer 2008数据库的表视图。 然后我创建了一个报告(rdlc)并添加了以前的数据集作为此报告的来源。 在代码中,我打电话,从我的表视图类型返回列表的功能,这个名单分配给创建报告如下:某些数据集字段没有出现在RDLC报告中

ReportDataSource reportSource = new ReportDataSource(); 
reportSource.Name = "DataSet1"; 
reportSource.Value = GetData(); // returns List<MyTableViewType> 
localReport.DataSources.Clear(); 
localReport.DataSources.Add(reportSource); 
localReport.Refresh(); 

的问题是,我在数据集中三个字段不出现在报告中,尽管我确信(通过调试)他们在呈现报告之前得到填充。

任何帮助将不胜感激... 感谢

+0

你可以发布你的'MyTableViewType'类。该类是否有'Serializable'属性集? – Andreas 2012-02-16 10:38:10

回答

2

你必须确保从数据库中的数据域的名称是相同的报表数据源声明。可能在返回的列表中,这些字段具有不同的名称。

+0

因为他正在使用强类型类并且没有将“ReportDataSource”绑定到数据库,所以没有意义。 http://blogs.msdn.com/b/sqlforum/archive/2011/01/03/walkthrough-working-reportviewer-with-a-complex-business-object-with-a-nested-generic-list-type- property-as-data-source-for-local-reports.aspx – Andreas 2012-02-16 10:40:26

+0

其实我就像Me5说的那样解决了这个问题,DataSet中的这三个字段的名字是以大写字母开头的,而他们是从小类中开始的。 – Loay 2012-02-21 08:50:15