当我将数据集作为显式接口传递而不是隐式时,字段为空。我无法弄清楚为什么显式接口调用不起作用,而隐式操作。我能够在报表查看器向导中看到所有字段,将“字段”作为占位符拖到显示中。但是程序运行时它们会显示为空白。
类:
public class MyReportData : IMyReportData
{
string IMyReportData.Field1 { get; set; }
string IMyReportData.Field2 { get; set; }
}
public class TestData : ITestData
{
public string MyTest { get; set; }
public string MyTest2 { get; set; }
}
传递给报告查看器时:
IMyReportData data = new MyReportData();
data.Field1 = "Field 1";
data.Field2 = "Field 2";
reportViewer1.LocalReport.DataSources.Add(new ReportDataSource("DataSet1", new List<IMyReportData>() { data }));
ITestData test = new TestData;
test.MyTest = "Test 1";
test.MyTest2 = "Test 2";
reportViewer1.LocalReport.DataSources.Add(new ReportDataSource("DataSet2", new List<ITestData >() { test}));
显示'test'中的数据。但是“数据”中的数据在报告中是空的。