実行時にRDLCファイルを図式的に生成する必要があるアプリケーション開発(CRMソリューション)を行っています。それ、どうやったら出来るの?
5 に答える
「RDLCを動的に生成-テーブル」の例をgetreportviewerから使用できますか?ページ
この質問に回答してくれたすべての人からの返信に感謝しますが、動的レポートを生成するための良い記事を見つけました: Dynamic Reports with Reporting Services。
RDLCに基づいて動的レポートソリューションを構築しようとしていることを確認できますか、それともCRMに保存されているデータをマイニングしてRDLCに表示する必要がありますか。ユーザーがデータをマイニングするためのProclarityやExcelなどの他のツールを使い果たしたと思います。
前者(つまりRDLCデザイナー)を想定すると、RDLCは単なるXMLファイルなので、最初に何らかのxml「モデル」をエクスポートした後にXSLTを適用することで、データソース、フィールド定義、セルなどを含む単純な標準RDLCを作成できると思います。あなたのデザイナーから?
大変な作業のようですね;)
コーディングによってデータ ソースを変更するだけです。お気に入り
ReportViewer.LocalReport.DataSources.Clear();
ReportViewer.ProcessingMode = Microsoft.Reporting.WinForms.ProcessingMode.Local;
ReportDataSource RDS = new ReportDataSource();
RDS.Name = "DataSet";
RDS.Value = itemReportTableBindingSource;
ReportViewer.LocalReport.ReportEmbeddedResource = "RFID.Reports.ItemsReport.rdlc";
ReportViewer.LocalReport.DataSources.Add(RDS);
this.itemReportTableTableAdapter.Fill(this.reportsDataSet.ItemReportTable);
this.ReportViewer.RefreshReport();
このリンクを参照してください。役立つ場合があります
Reporting Services で作成されたレポートに新しい列を動的に追加する方法は?
RDLC レポートは XML ファイルであり、XMLDocument で編集することにより、/Report/Body/ReportItems/Table ノードの位置を変更し、その中で次の操作を実行できます。
- 新しい列のヘッダーを定義する - Header ノード内に新しい TableCell を追加します
- 列をデータ (DataTable から) にバインドします。詳細ノード内に新しい TableCell を追加します。
- 列の幅を定義します – TableColumns 内に新しい TableColumn を追加します