4.3.3 RDB データソース
RDBデータソースではSQLステートメントにおける列名がキーとなります。SQLステートメントにて列名として " "(半角スペース) や ":"(半角コロン) は使えないため <bs:data-type>タグのlayout-name 属性(V4.3.5より追加)でSQLステートメントでの列名とレイアウトXMLでの名前を関連づけます。<bs:data-type>タグではcolumn-name 属性がデータソース側の名前(RDBデータソースではSQLステートメントの列名)を表し、layout-name 属性がレイアウトXML側の名前を表して両者を関連付け、データソース側でレイアウトXMLでの定義と同一の名前を持つ必要がなくなります。
テーブル test2が以下の列
INVOICE_NO, MODEL,SEIHAN_NO,SEIHAN_NO_COLOR
を持ち、以下のデータが格納されているものとします。
<サンプル>
SQLステートメントの列名 "SEIHAN_NO" がレイアウトXMLでの名前 "SEIHAN NO" に関連付けられ、name属性の値が "SEIHAN NO "であるタグの値となります。SQLステートメントの列名 "SEIHAN_NO_COLOR" がレイアウトXMLでの名前"SEIHAN NO::FontColor" に関連付けられ、同タグのFontColor属性の値となります。上記データを使えばPDF では "1010" はblueの文字色で、"1020"はyellow の文字色で描画されます。
テーブル test2が以下の列
INVOICE_NO, MODEL,SEIHAN_NO,SEIHAN_NO_COLOR
を持ち、以下のデータが格納されているものとします。
INVOICE_NO | MODE | SEIHAN_NO | SEIHAN_NO_COLOR |
---|---|---|---|
AA0001 | MODEL01 | 1000 | 200,100,50 |
BB0001 | MODEL02 | 1010 | blue |
CC0001 | MODEL03 | 1020 | yellow |
BB0002 | MODEL04 | 1030 | blue |
BB0003 | MODEL11 | 1040 | 50,200,100 |
AA0002 | MODEL31 | 1300 | red |
<bs:query-statement master-reference="csv-resource"> select INVOICE_NO, MODEL, SEIHAN_NO, SEIHAN_NO_COLOR from test2 </bs:query-statement> <bs:data-type column-name="INVOICE_NO" layout-name="INVOICE NO" column-no="1" type="char"/> <bs:data-type column-name="MODEL" layout-name="MODEL" column-no="2" type="char"/> <bs:data-type column-name="SEIHAN_NO" layout-name="SEIHAN NO" column-no="3" type="char"/> <bs:data-type column-name="SEIHAN_NO_COLOR" layout-name="SEIHAN NO::FontColor" column-no="4" type="char"/>