QR SET INFO COLUMN
QR SET INFO COLUMN ( area ; colNum ; title ; object ; hide ; size ; repeatedValue ; displayFormat )
引数 | 型 | 説明 | |
---|---|---|---|
area | Integer | → | エリア参照 |
colNum | Integer | → | カラム番号 |
title | Text | → | カラムタイトル |
object | Field, Variable | → | カラムに割り当てられたオブジェクト |
hide | Integer | → | 0 = 表示, 1 = 非表示 |
size | Integer | → | カラムサイズ |
repeatedValue | Integer | → | 0 = 繰り返ししない, 1 = 繰り返す |
displayFormat | Text | → | データの表示フォーマット |
このコマンドはスレッドセーフではないため、プリエンプティブなコードには使えません。
説明
リストモード
QR SET INFO COLUMN コマンドを使用して、既存のカラムに関するパラメタを設定できます。
areaには、クイックレポートエリアの参照を指定します。
colNumには、修正するカラムの番号を指定します。
titleには、カラムのヘッダに表示されるタイトルを指定します。
objectには、そのカラムの実際のオブジェクト (変数、フィールド、またはフォーミュラ) を指定します。
hideには、カラムを表示するか、あるいは非表示にするかを指定します。
- 1を指定すると、カラムは非表示に設定されます。
- 0を指定すると、カラムは表示に設定されます。
sizeには、カラムに割り当てるサイズをピクセル単位で指定します。-1はカラムのサイズを自動設定にします。
repeatedValueには、同一値印刷の有無を指定します。これは、フィールドまたは変数の値が連続するレコード間で同一値であった場合、同じ値を印刷するか、しないかを表します。
- repeatedValueが0の場合、同一値は印刷されません。
- repeatedValueが1の場合、常に印刷します。
displayFormatには、表示フォーマットを指定します。この表示フォーマットは、表示されるデータに対応した4Dフォーマットです。
次のコードは、カラム番号1のタイトルとしてTitleをセットし、カラムの内容としてField2をセットし、幅150ピクセルでカラムを表示してフォーマットを###.##に設定します。
QR SET INFO COLUMN(area;1;"Title";"[Table1]Field2";0;150;0;"###,##")
クロステーブルモード
QR SET INFO COLUMN コマンドを使用して同様のパラメタを設定できますが、設定しようとするパラメタにより、適用するエリアの参照が異なります。
第一に、このコマンドをクロステーブルモードで用いた場合、引数title、hide、repeatedValueは使用されません。設定したい値がカラムサイズ、データソース、表示フォーマットのいずれであるかによって、colNumに使用する値が変わります。
- カラムサイズ
これは“視覚的”な属性であり、下図のようにカラムは左から右へと番号が付けられています。
次のコードは、クロステーブルレポートのすべてのカラムに対してサイズを自動に設定し、その他の要素は以前のまま変更しません:
For($i;1;3)
QR GET INFO COLUMN(qr_area;$i;$title;$obj;$hide;$size;$rep;$format)
QR SET INFO COLUMN(qr_area;$i;$title;$obj;$hide;0;$rep;$format)
End for
カラムサイズだけを変更したいため、QR GET INFO COLUMNを使用してカラムのプロパティを取得し、それをQR SET INFO COLUMNに渡してカラムサイズ以外の項目は変更していません。
- データソース (オブジェクト) と表示フォーマット
この場合、カラム番号は次の図のように作用します:
QR SET INFO COLUMNコマンドを使用しても、すべてのセルに対応できないことにお気付きでしょう。上図の中で番号が付けられていないセルに関しては、QR SET TOTALS DATAコマンドを用いて対処します。
次のコードは、基本的なクロステーブルレポートの作成に必要となる3つのセルに対し、データソースを割り当てます:
QR SET REPORT TABLE(qr_area;Table(->[Invoices]))
ALL RECORDS([Invoices])
QR SET REPORT KIND(qr_area;2)
QR SET INFO COLUMN(qr_area;1;"";->[Invoices]Item;1;-1;1;"")
QR SET INFO COLUMN(qr_area;2;"";->[Invoices]Quarter;1;-1;1;"")
QR SET INFO COLUMN(qr_area;3;"";->[Invoices]Quantity;1;-1;1;"")
この結果、レポートエリアは次のようになります:
無効なarea番号を渡した場合、エラー番号-9850が生成されます。
無効なcolNum引数を渡した場合、エラー番号-9852が生成されます。