好的,所以我有一个具有以下设置的类。
public class Test {
private int _TestID;
private Test1 _MyData;
public int TestID {
get { return _TestID; }
set { _TestID = value; }
}
public Test1 MyData {
get { return _MyData; }
set { _MyData = value; }
}
}
public class Test1 {
private string _TestString;
public string TestString {
get { return _TestString; }
set { _TestString = value; }
}
}
在我的报告中,我在 Tablix 字段之一中设置了以下值。
=Fields!MyData.Value.TestString
我将报告提供给List<Test>
. 好吧,我的报告在现场显示为#Error。该报告运行良好,我不确定发生了什么变化。
这是一个示例报告:
编辑 1
正在从我们网络上托管的 WCF 服务中检索数据。该服务从数据库加载所有数据,客户端只需下拉列表即可。
因此,为了更清楚地说明我的问题,报告不是从任何数据库查询生成的,而是从对象本身生成的。
public static void LoadReport() {
List<Test> allTestData = PublishService.TestClient().GetAllTestData().ToList();
ReportViewer.Reset();
ReportViewer.LocalReport.ReportEmbeddedResource = "TestReport.rdlc";
ReportDataSource datasource = new ReportDataSource();
datasource.Name = "DataSet1";
datasource.Value = allTestData;
ReportViewer.LocalReport.DataSources.Add(datasource);
ReportViewer.RefreshReport();
}