エンティティ フレームワークで動作する Visual Studio 2013 Web アプリケーションがあり、RDLC レポートを使用して単純な表形式のデータ レポートを表示したいと考えています。
別の Web ページを作成し、reportviewer コントロールを追加しました。List
また、RDLC ファイルを作成し、カスタム オブジェクトを返す C# 関数からデータ ソースを追加しました。このように、レポート デザイナーから構成できますが、ページがブラウザーに読み込まれるとエラーA data source instance has not been supplied for the data source 'DataSet1'
が表示されます。
レポートのデザイン
HTML マークアップ
<rsweb:ReportViewer ID="ReportViewer1" runat="server" Font-Names="Verdana" Font-Size="8pt"
WaitMessageFont-Names="Verdana" WaitMessageFont-Size="14pt">
<LocalReport ReportPath="Alumni\Reports\Report1.rdlc"></LocalReport>
</rsweb:ReportViewer>
上記の実装では、データ ソースが指定されていないというエラーが発生しましたが、Yuliam Chandraが提案したように、以下のコードを追加したところ、レポートが機能するようになりました。
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
ReportViewer1.LocalReport.DataSources.Add(new ReportDataSource("DataSet1", Business.ReportManager.GetMemberDetails(1)));
}
}
この問題を解決するために私を助けてください。RDLC を使用して単純なレポートを表示する必要があるだけで、データ ソースは、オブジェクトのリストを返す引数を持つ public static 関数です。