Q14:一つのテーブルを複数のパネルで共通に設定することはできますか。できるとしたらどのように設定するのでしょうか。
A14:
同一のGUI部品を複数のフレーム、パネル等に配置することは残念ながらできません。
次善の策ですが、テーブルデータは一旦[テーブル格納変数]に入れることとし、[テーブル格納変数]にデータが設定されたら、各[テーブル]にそのデータを設定するようにします。
[テーブル]のデータ更新時にも[テーブル格納変数]にデータを格納します。
そのままでは「テーブル格納変数へデータの設定」→「テーブルデータの更新」→「テーブル格納変数へデータの設定」と無限ループに陥ってしまうので、[イベント伝播制御]コンポーネントを使って、テーブルデータ更新がループしないようにします。
関連ファイル「テーブルデータ共有.mzax」に簡単にサンプルを作りました。ご参考になれば幸いです。
関連ファイル:テーブルデータ共有.mzax (※このファイルは、ZIP形式に圧縮してあります。)
同一のテーブルを複数のフレーム等に配置するご質問に対する補足です。
テーブルのセルの値だけではなく、列に設定した属性も保持したい場合には、テーブルコンポーネント自身の複製を作成し、それを配置する方法があります。関連ファイル「テーブル有効列設定(テーブルコピー).mzax」にサンプルを掲載致しました。
サンプルでは、「テーブルコピー・貼り付け」ボタンを押しますと、
(1)もし既に貼り付けられたテーブルが存在する場合にはプラットフォームから削除し、
(2)コンポーネント格納変数で元のテーブルの複製を作成し、
(3)プラットフォームに追加するとともにフレームにも追加しております。
複製したテーブルにイベント処理を追加したい場合には、「動的アプリケーション構築」コンポーネントで、メソッドを追加することができますが、若干複雑になります。
関連ファイル:テーブル有効列設定(テーブルコピー).mzax (※このファイルは、ZIP形式に圧縮してあります。)
備考:「テーブル」の「Q&A6」にも掲載。