ページレポートおよびRDLレポートでは、レイヤーを使用して印刷済みフォームのレイアウトをピクセルパーフェクトの精度で下絵としてトレースできます。
このチュートリアルでは、航空機搭乗券のスキャン画像からデータフィールドを正確にトレースする方法を示します。以下の手順ではページレポートの結果を示しますが、RDLレポートにも同じ手順でレポートを作成することができます。
メモ: このチュートリアルでは、次の画像を「BoardingPass.jpg」として、レイアウトをトレースする方法を説明します。
このトピックでは以下のタスクを行います。
- Visual StudioプロジェクトにActiveReportsを追加する
- レポートをXMLデータソースに接続する
- データセットを追加する
- 別のレイヤーにレポートレイアウトを作成する
- レポートを表示する
チュートリアルを完了すると、次のようなレポートが作成されます。
デザイン時のレイアウト
実行時のレイアウト
Visual StudioプロジェクトにActiveReportsを追加する
- Visual Studioで新しいWindowsフォームアプリケーションプロジェクトを作成します。
- [ソリューションエクスプローラー]で、Form1を右クリックして名前を「MainForm」に変更します。
- [プロジェクト]メニューから[新しい項目の追加]を選択します。
- [新しい項目の追加]ダイアログが表示されたら、[ActiveReports 18.0Jページレポート]を選択し、[名前]フィールドでファイル名を「Boarding」に変更します。
- [追加]ボタンをクリックし、新しいページレポートをデザイナで開きます。各種レポートレイアウトの追加の詳細については、「プロジェクトにレポートを追加する」を参照してください。
レポートをXMLデータソースに接続する
- [ソリューションエクスプローラー]から、先のドロップダウンの手順で作成したBoarding.rdlxファイルを開きます。
- [レポートエクスプローラ]で[データソース]ノードを右クリックして[データソースの追加]オプションを選択するか、[追加](+)ボタンから[データソース]を選択します。
- [レポートデータソース]ダイアログが表示されたら、[全般]ページを選択し、[名前]フィールドに「CustomDS」と入力します。
- データプロバイダを選択する[種類]ドロップダウンから、[XMLプロバイダ]を選択します。
- 接続文字列セクションで、以下のカスタムデータをプロジェクトに追加します。
XML |
コードのコピー
|
XmlData =
<Flight ID="31"> <Passengers> <Passenger>
<PassengerName>Maria Anders</PassengerName> <Seat>23A</Seat> <Tracking>2322- 030-0074321</Tracking> </Passenger>
<Passenger> <PassengerName>Ana Trujillo</PassengerName> <Seat>18E</Seat> <Tracking>2322- 030-0074343</Tracking> </Passenger>
<Passenger> <PassengerName>Antonio Moreno</PassengerName> <Seat>25A</Seat> <Tracking>6722- 034-6784349</Tracking> </Passenger>
<Passenger> <PassengerName>Christina Berglund</PassengerName> <Seat>14B</Seat> <Tracking>5678- 543-6784349</Tracking> </Passenger> <Passenger> <PassengerName>Thomas Hardy</PassengerName> <Seat>28F</Seat> <Tracking>9834- 413-6784569</Tracking> </Passenger> </Passengers> </Flight>
|
- [OK]をクリックしてダイアログボックスを閉じます。
データセットを追加する
- [レポートエクスプローラ]で、前の手順で作成したデータソースを右クリックして[データセットの追加]を選択するか、[追加](+)ボタンから[データセット]を選択します。
- [データセット]ダイアログが表示されたら、[全般]ページを選択し、データセットの名前として「BoardingData」と入力します。
- [クエリ]ページで、[指定方法]から[Text]を選択し、[クエリ]テキストボックスに次のXMLパスを入力して各乗客のデータにアクセスします。
//Passenger
-
[フィールド]ページで、次の表の値を入力してレポートのフィールドを作成します。XMLデータフィールドの値は有効なXPath式にする必要があります。
フィールド名 |
型 |
値 |
Tracking |
データベースフィールド |
Tracking |
PassengerName |
データベースフィールド |
PassengerName |
Seat |
データベースフィールド |
Seat |
- [OK]をクリックしてダイアログを閉じます。データセットとクエリ対象のフィールドがレポートエクスプローラにノードとして表示されます。データソースへのデータセットの追加の詳細については、「データセットの追加」を参照してください。
別のレイヤーにレポートレイアウトを作成する
- [レイヤー一覧]ウィンドウで、 アイコンをクリックしてレポートに新しいレイヤーを作成します。defaultレイヤーがすでにレイヤー一覧に追加されていることに注意してください。
- Layer1を選択してアクティブレイヤーにし、[プロパティ]ウィンドウでレイヤーのNameを「ImgLayer」に変更します。
- [レイヤー一覧]ウィンドウで、[ロック]チェックボックスをオンにしてImgLayerをロックし、トレースする画像が誤って変更されないようにします。
- [レイヤー一覧]ウィンドウで、[最背面へ移動]ボタンをクリックしてImgLayerをdefaultレイヤーの背面に移動します。
- [レイヤー一覧]ウィンドウで、defaultレイヤーを選択してアクティブレイヤーにします。
- [プロパティ]ウィンドウでdefaultレイヤーのDesignerTransparencyを「0.5」に設定して、背面のImgLayerに配置されたスキャン画像が見えるようにします。
- ツールボックスからListデータ領域をドラッグしてレポートのデザイナ面にドロップします。
- Listデータ領域の [プロパティ]ウィンドウ で、以下の値を設定します。
プロパティ名 |
プロパティの値 |
DataSetName |
BoardingData |
FixedSize |
Width: 6.27in
Height: 3in |
Location |
Left: 0in
Top: 0.125in |
Size |
Width: 6.27in
Height: 2.87in |
- [レポートエクスプローラ]で[埋め込み画像]ノードを右クリックして[埋め込み画像の追加]を選択します。
- [開く]ダイアログボックスが表示されたら、航空機搭乗券のスキャン画像「BoardingPass.jpg」を選択します。
- [開く]をクリックして画像をプロジェクトに埋め込みます。
-
[レポートエクスプローラ]から埋め込み画像の BoardingPass をドラッグしてListデータ領域にドロップし、次の表のようにプロパティを設定します。
プロパティ名 |
プロパティの値 |
LayerName |
ImgLayer |
Location |
0in, 0.125in |
Size |
6.27in, 2.875in |
-
[レポートエクスプローラ]から以下のフィールドをドラッグしてListデータ領域にドロップし、以下のプロパティを設定します。
フィールド名 |
プロパティの値 |
PassengerName |
LayerName: Default
Location: 2.91in, 0.35in
Size: 1.375in, 0.25in
|
PassengerName |
LayerName: Default
Location: 0.15in, 0.9in
Size: 1.37in, 0.25in
|
PassengerName |
LayerName: Default
Location: 4.5in, 0.9in
Size: 1.25in, 0.25in
|
Tracking |
LayerName: Default
Location: 0.15in, 2.19in
Size: 1.5in, 0.25in
|
Seat |
LayerName: Default
Location: 4.5in, 1.45in
Size: 1in, 0.375in
Font > FontSize: 22pt
|
- [レイヤー一覧]ウィンドウでdefaultレイヤーとImgLayerを選択し、[プロパティ]ウィンドウで各レイヤーのTargetDeviceプロパティを「Screen」に変更します。詳細については、出力デバイスの切り替えを参照してください。
レポートを表示する
- [プレビュー]タブをクリックすると、レポートが表示されます。
または