ActiveReports 9実戦チュートリアル(2):データソースの準備(設計時、実行時)
4440 ワード
前述の「ActiveReports 9実戦チュートリアル(1):ハンドル構築環境Visual Studio 2013コミュニティ版」では、Visual Studio 2013と組み合わせてActiveReports 9の開発環境を構築し、Hello WorldのRDLレポートを完成しました.本稿では、データ・ソースを構成してレポートの実戦を行い、レポート開発を行ったレポートの達人は、レポートのデータ・ソースが設計時のデータ・ソースと実行時のデータ・ソースに分かれていることを知っています.どのように理解しますか?
この2種類のデータソースは、テーブル構造が同じで、用途が異なります.
1設計時のデータソースは、研究開発内部、レポートグループの構成、テストレポート用に使用される.
2リンク・データベースの文字列を変更するなど、システムが切断された後にローカル・フィールドでレポート・システムを実行するためのランタイム・データ・ソース.
上の2つの点から、設計時のデータソースの実行は比較的広い:レポートの構成、テスト、レポートの実行.一方、ランタイム・データベースがデータベース・リンク文字列を切り替えると、データ・ソースのユーザー・サイトへの導入がシームレスに実現され、比較的容易になります.
次はNWind_CHS.mdbデータソースの実戦(AR 9インストール後、持参したデータソースC:UsersrogerwangDocumentsComponentOne SamplesActiveReports 9DataNWIND.mdb).
「ビュー-その他のウィンドウ--レポートエクスプローラV 9」を使用して、前述のRdlReport 1に基づいています.rdlxファイル、rdlxファイルをダブルクリックします.
右クリックしてデータソースを追加
新しく作成したデータソースData Source 1で、データセットを右クリックして追加します.
ポップアップの追加データセットでは、2つの方法でデータを追加します.
方法1:SQLを直接書く.この方式はプログラマー、SQLの比較的強い人に適しており、効率が高い.
方法2:AR 9によって新しく提供されたVQDによって行う(可視化クエリーデザイナ).この方法は、プロダクトマネージャ、需要アナリストなど、技術に詳しくない人に適しており、柔軟です.
ここで重点的に方法2:VQDについて述べる.
Visualization Query Designer(VQD)には、次の重要な機能があります.フィルタデータ カスタム式 を使用データベース選択フィールド からパケットおよび合計関数 内部接続、左外部接続、右外部接続を使用する .選択したフィールドとデータテーブルの別名を設定する データの並べ替えとその他の特性
設計時に構成されたデータ・ソースは、ユーザーの現場に移行する場合は、ユーザーのデータ・ソース環境に適したデータ・ソースを動的に変更する必要があります.
コードによるデータ・ソースの切り替えが可能(備考:データベース・テーブル構造はそっくり)
実行時のデータソースの設定
実行時にLocateDataSourceイベントを使用してデータソースをロードします.
最後に、ActiveReportは、OLEDB、SQL、XML、Oracle、Sybase、Informix、SQL Serverなど、さまざまなデータ・ソースと対話できます.
参考の公式ブログ: ActiveReportsレポートデータソース:設計時データソース ActiveReportsレポートデータソース:ランタイムデータソース 【ActiveReports】REST Webサービスデータ を使用 AR 7バインドデータソース方式 OracleデータベースをActiveReport にバインドする
この2種類のデータソースは、テーブル構造が同じで、用途が異なります.
1設計時のデータソースは、研究開発内部、レポートグループの構成、テストレポート用に使用される.
2リンク・データベースの文字列を変更するなど、システムが切断された後にローカル・フィールドでレポート・システムを実行するためのランタイム・データ・ソース.
上の2つの点から、設計時のデータソースの実行は比較的広い:レポートの構成、テスト、レポートの実行.一方、ランタイム・データベースがデータベース・リンク文字列を切り替えると、データ・ソースのユーザー・サイトへの導入がシームレスに実現され、比較的容易になります.
次はNWind_CHS.mdbデータソースの実戦(AR 9インストール後、持参したデータソースC:UsersrogerwangDocumentsComponentOne SamplesActiveReports 9DataNWIND.mdb).
設計時データソース
「ビュー-その他のウィンドウ--レポートエクスプローラV 9」を使用して、前述のRdlReport 1に基づいています.rdlxファイル、rdlxファイルをダブルクリックします.
右クリックしてデータソースを追加
新しく作成したデータソースData Source 1で、データセットを右クリックして追加します.
ポップアップの追加データセットでは、2つの方法でデータを追加します.
方法1:SQLを直接書く.この方式はプログラマー、SQLの比較的強い人に適しており、効率が高い.
方法2:AR 9によって新しく提供されたVQDによって行う(可視化クエリーデザイナ).この方法は、プロダクトマネージャ、需要アナリストなど、技術に詳しくない人に適しており、柔軟です.
ここで重点的に方法2:VQDについて述べる.
Visualization Query Designer(VQD)には、次の重要な機能があります.
生成されたSQL文: select Products.*, Categories.* from Products inner join Categories on Products.CategoryID = Categories.CategoryID Description、ProductIDをレポートにそれぞれドラッグすると、結果がプレビューされます。 これで、実行時のデータソースの追加が完了し、ARが提供するデータソースの構成機能は、非常に柔軟で便利であり、レポート開発の効率を効果的に向上させることができる。
ランタイムデータソース
設計時に構成されたデータ・ソースは、ユーザーの現場に移行する場合は、ユーザーのデータ・ソース環境に適したデータ・ソースを動的に変更する必要があります.
コードによるデータ・ソースの切り替えが可能(備考:データベース・テーブル構造はそっくり)
private void ToolStripMenuItem_Click(object sender, EventArgs e)
{
SectionReport_DataSource_RunTime sReport1 = new SectionReport_DataSource_RunTime();
sReport1.DataSource = GetDataSource();
sReport1.Run();
viewer1.Document = sReport1.Document;
} private DataTable GetDataSource()
{
DataTable dt = new DataTable();
dt.Columns.Add(" ");
dt.Columns.Add(" ");
dt.Columns.Add(" ");
dt.Columns.Add(" ");
dt.Rows.Add("A10002", " ", 20, 50);
dt.Rows.Add("A15681", " ", 20, 50);
dt.Rows.Add("A15681", " ", 20, 50);
return dt;
}
実行時のデータソースの設定
private void ToolStripMenuItem_Click(object sender, EventArgs e)
{
GrapeCity.ActiveReports.PageReport pReport1 = new GrapeCity.ActiveReports.PageReport(new System.IO.FileInfo("PageReport_DataSource_RunTime.rdlx"));
viewer1.LoadDocument(pReport1.Document);
} private void Form1_Load(object sender, EventArgs e)
{
viewer1.LocateDataSource += new GrapeCity.ActiveReports.LocateDataSourceEventHandler(viewer1_LocateDataSource);
} void viewer1_LocateDataSource(object sender, GrapeCity.ActiveReports.LocateDataSourceEventArgs args)
{ if (args.DataSourceName == "DataSource1")
{ if (args.DataSetName == "DataSet1")
{
args.Data = GetDataSource();
}
}
} private DataTable GetDataSource()
{
DataTable dt = new DataTable();
dt.Columns.Add(" ");
dt.Columns.Add(" ");
dt.Columns.Add(" ");
dt.Columns.Add(" ");
dt.Rows.Add("A10002", " ", 20, 50);
dt.Rows.Add("A15681", " ", 20, 50);
dt.Rows.Add("A15681", " ", 20, 50); return dt;
}
実行時にLocateDataSourceイベントを使用してデータソースをロードします.
最後に、ActiveReportは、OLEDB、SQL、XML、Oracle、Sybase、Informix、SQL Serverなど、さまざまなデータ・ソースと対話できます.
参考の公式ブログ: