FastReport.Netレポート接続データベース
2420 ワード
通常開発者はFastReportを勉強しています.Netで最初に発生した問題は、データをレポートに接続する方法です.幸いなことに、このレポートジェネレータには直感的なインタフェースデザイナがあります.時間を節約するために、レポートにデータ・ソースを接続する方法について簡単に説明します.次に、ユーザー・アプリケーションから接続文字列を渡す方法を説明します.したがって、レポートにデータベースを接続することと、レポートに接続文字列を渡すことの2つの部分に分けられます.レポートへのデータベースの接続
1、レポートに新しいデータソースを追加するには、次の2つの方法があります.ツールバーの「レポート」タブのアイコンを使用します. 「データ」ウィンドウのActionsドロップダウンメニューから;
例を見てみましょう.データソースを作成します.開いているウィンドウで、新しい接続を選択します.異なるタイプの接続を選択して、データベースに接続できます.ここではMS Access connectionを採用します.
さらに、作業するフォームを選択します.SQLクエリを使用するデータ(XMLデータベースなし)を選択できます.このためにクエリー・ジェネレータがあり、必要なものを手動で作成する必要があります.
次に、クエリーのパラメータを設定します.次に、カラムのデータ型を書き換えます.
従業員表と注文書の2つの表を選択しました.フィールドEmpNoバインドがあります.これを行うには、「データ」のActionメニューを開き、新しい関係を選択します.
親テーブルは従業員、子テーブル-注文です.EmpNoフィールドをバインドします.
なぜこんなことを?従業員ごとに注文リストを表示できます.簡単なレポートテンプレートを作成します.
ここでのバンド(band)「データ」には、詳細なバンド「データ」が含まれる.
ご覧のように、最初に従業員の名前が表示され、2番目に注文データが表示されます.詳細な帯域データは、コンテキストメニューから追加するか、構成ウィンドウ(構成帯域)を使用して追加できます.
最初のバンド「データ」をダブルクリックすると、テーブル名の従業員がデータ・ソースとして選択され、2番目のバンド「データ」が受注として選択されます.フィールドを空のバンドに追加すると、データソースが自動的に選択されます.もちろん、手動に変更することもできます.
データ・ソースを設定しない場合は、データは表示されません.より正確には、最初の行のデータがフィールドを追加するだけです.レポートを保存します.
2、アプリケーションから接続文字列をレポートに渡す
フォームアプリケーションを作成します.FastReportからNETタグはフォームにレポートコンポーネントとボタンを追加します.
アプリケーションから接続文字列をレポートに渡します.
まず、以前に作成したレポートを少し変更する必要があります.デザイナを開きます.レポート・パラメータを作成します.接続文字列を与えます.「データ」ウィンドウで項目パラメータを検索します.右クリック-新しいパラメータ.「プロパティ」ウィンドウで、パラメータ名-connを設定します.
「データ」ウィンドウで接続を選択し、次に「プロパティ」ウィンドウでConnectionStringExpressionを見つけてパラメータに追加します.レポートの変更が完了し、保存され、プログラムに戻ります.
ボタンをダブルクリックして実行します.ボタンのイベントハンドラに追加された主なアプリケーションコード:
プライマリ・オペレーションの前に、レポート・パスとデータベースを格納する変数を宣言します.
ボタンをクリックしてレポートインスタンスを作成します.レポートをロードし、接続文字列変数の値を指定し、接続文字列のレポート・パラメータ値を指定し、レポートを実行します.
記事で述べたように、レポートをデータに接続するのは簡単です.レポートを任意のデータベースに接続できます.必要に応じて、接続文字列をレポートに転送できます.これは、ユーザーがローカルドライブのデータベースを選択した場合に便利です.
1、レポートに新しいデータソースを追加するには、次の2つの方法があります.
例を見てみましょう.データソースを作成します.開いているウィンドウで、新しい接続を選択します.異なるタイプの接続を選択して、データベースに接続できます.ここではMS Access connectionを採用します.
さらに、作業するフォームを選択します.SQLクエリを使用するデータ(XMLデータベースなし)を選択できます.このためにクエリー・ジェネレータがあり、必要なものを手動で作成する必要があります.
次に、クエリーのパラメータを設定します.次に、カラムのデータ型を書き換えます.
従業員表と注文書の2つの表を選択しました.フィールドEmpNoバインドがあります.これを行うには、「データ」のActionメニューを開き、新しい関係を選択します.
親テーブルは従業員、子テーブル-注文です.EmpNoフィールドをバインドします.
なぜこんなことを?従業員ごとに注文リストを表示できます.簡単なレポートテンプレートを作成します.
ここでのバンド(band)「データ」には、詳細なバンド「データ」が含まれる.
ご覧のように、最初に従業員の名前が表示され、2番目に注文データが表示されます.詳細な帯域データは、コンテキストメニューから追加するか、構成ウィンドウ(構成帯域)を使用して追加できます.
最初のバンド「データ」をダブルクリックすると、テーブル名の従業員がデータ・ソースとして選択され、2番目のバンド「データ」が受注として選択されます.フィールドを空のバンドに追加すると、データソースが自動的に選択されます.もちろん、手動に変更することもできます.
データ・ソースを設定しない場合は、データは表示されません.より正確には、最初の行のデータがフィールドを追加するだけです.レポートを保存します.
2、アプリケーションから接続文字列をレポートに渡す
フォームアプリケーションを作成します.FastReportからNETタグはフォームにレポートコンポーネントとボタンを追加します.
アプリケーションから接続文字列をレポートに渡します.
まず、以前に作成したレポートを少し変更する必要があります.デザイナを開きます.レポート・パラメータを作成します.接続文字列を与えます.「データ」ウィンドウで項目パラメータを検索します.右クリック-新しいパラメータ.「プロパティ」ウィンドウで、パラメータ名-connを設定します.
「データ」ウィンドウで接続を選択し、次に「プロパティ」ウィンドウでConnectionStringExpressionを見つけてパラメータに追加します.レポートの変更が完了し、保存され、プログラムに戻ります.
ボタンをダブルクリックして実行します.ボタンのイベントハンドラに追加された主なアプリケーションコード:
private string ReportPath = Environment.CurrentDirectory + "/ConnectionFromApp.frx";
private string DBPath = Environment.CurrentDirectory + "/demo.mdb";
private string ConnStr;
プライマリ・オペレーションの前に、レポート・パスとデータベースを格納する変数を宣言します.
private void RunBtn_Click(object sender, EventArgs e)
{
using (Report report = new Report())
{
report.Load(ReportPath);
ConnStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + DBPath + ";User ID=Admin";
report.SetParameterValue("conn", ConnStr);
report.Show();
}
}
ボタンをクリックしてレポートインスタンスを作成します.レポートをロードし、接続文字列変数の値を指定し、接続文字列のレポート・パラメータ値を指定し、レポートを実行します.
記事で述べたように、レポートをデータに接続するのは簡単です.レポートを任意のデータベースに接続できます.必要に応じて、接続文字列をレポートに転送できます.これは、ユーザーがローカルドライブのデータベースを選択した場合に便利です.