Q104:@コンポーネントのグループ化について。A個別のセルのデータを取り出すには。
Q104-1:
@テーブルからのデータの入力および出力を今は個々のテキストフィールドを指定しておこなっていますが、テキストフィールドをひとつのグループにして連番をふり、その連番指定(例えばテキスト(*))のような指定を行うにはどのようにすればよいのでしょうか?そうすれば繰り返し処理でテーブルデータを表示させたりテキストフィールドのデータを格納させたりできると思うのです。
Aテーブルの個別のセル要素を選び出し印刷を行いたいのですが、これはもうすこし自分で考えてみたいと思います。
A104-1:
@コンポーネントのグループ化について
現在のところMZPlatformで複数のコンポーネントを一つのグループとして扱うという機能はなく、一つ一つコンポーネントを指定して、データ取得/設定しています。
考え方としてコンポーネントそのものを[リスト]に入れ、順番にコンポーネントを取り出し、さらにそのコンポーネントのデータ取得/設定も可能ではあります。ですがグループ化したいコンポーネントの数が少ない場合には省力化されず、設計も判り難くなる恐れがあります。
ご参考までに上記考え方を[オブジェクトバッファ]等を使って設定してみたサンプルファイルを掲載致します。(データ一括設定1.mzax)
[テーブル]の一列分のデータを扱う場合には[リスト格納変数]や[オブジェクトキュー](=先入れ先出し型のリスト)を使うと便利です。こちらもファイルを掲載致します。(データ一括設定2.mzax)
A個別のセルのデータを取り出すには「メソッド:指定セルの値を取得する(int,int)」を使います。取り出しただけでは帳票要素のデータとして扱えないので、一旦変数に入れて頂く必要があります。
データの型に合わせて[文字列格納変数]、[任意精度実数(BigDecimal)格納変数]、[日付格納変数]など選んで頂いても結構ですし、[文字列格納変数]に全部入れてしまっても宜しいかと存じます。
関連ファイル:データ一括設定1.mzax、データ一括設定2.mzax
備考:Aは「テーブル」の「Q&A45」にも掲載。