わかりましたので、次の設定を持つクラスがあります。
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 フィールドの 1 つに次の値が設定されています。
=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();
}