MZ Platformとは › 掲示板 › MZプラットフォームユーザー会掲示板 › 複合GUIコンポーネント追加の件
- このトピックは、 7 返信、 2 投稿者 です。最終更新日: 3 年, 1 ヶ月 前 1219tsuyoshi.nakatomi
-
著者投稿
-
2021年9月30日 at 11:20 AM #6536
お世話になっております。
初期画面で、コンボボックス[A]ボタンを押すとGUIコンポーネントAを追加します。
その次に、タブ追加でとりあえずタブ数2にします。
Tab-0のユニット名と部品テーブル
Tab-1のユニット名と部品テーブル
実際にはSQLで登録するのですが、表示ボタンでデータ取得する方法を教えて下さい。
また、追加したGUIコンポーネントが残るのですがどの様に処理を行えば宜しいですか。
御教授宜しくお願いします。2021年10月1日 at 6:54 PM #6539MZPlatformユーザー会サイト管理者お問い合わせありがとうございます。
かなり複雑になりますが、例えば[タブ]のメソッド「getPanelAt(int)」で、各タブに配置されているパネル(今回はGUI複合コンポーネント)を取得することができます。
取得した複合コンポーネントを[コンポーネント格納変数]に設定し、メソッド「条件指定で下位のコンポーネントを取得する(String,String)」で引数1に[テーブル]のクラス名である「jp.go.aist.dmrc.platform.beans.gui.table」を設定し、[テーブル]コンポーネントを取得します。
さらに、この取得したコンポーネントを新しい[コンポーネント格納変数]に設定し、メソッド「起動メソッド名を設定する(String)」(引数はgetObjectTable)、「起動メソッドを実行する()」でテーブルデータを取得します。
表示ボタンの階層とタブのある階層は分かれていますから、以上の処理をまとめて、公開メソッドを設定し、タブの数の分繰り返し、処理を行います。実を申しますと、動的にコンポーネントを生成するのも、階層を深く分けるのも、処理が複雑になり、あまりお勧めいたしません。
タブの複製数が10を超えないのであれば、初めから複合コンポーネントを必要数用意しておき、必要に応じて画面へ追加、削除する方が簡単です。動的に生成すると、生成したコンポーネントを[コンポーネント格納変数]等に入れてデータを取得する処理が余分に生じます。アプリケーション開発中に同じ画面配置で複数の複合コンポーネントを作成したい場合には、複合コンポーネントの外部参照をお勧めしています。詳しくは『アプリケーションビルダー操作説明書p118-p120をご覧ください。
以上ご検討いただき、ご不明な点があれば再度ご連絡いただければ幸いです。
よろしくお願い申し上げます。- この返信は、 MZPlatformユーザー会 により、 3 年, 1 ヶ月 前 に編集されました。
2021年10月4日 at 12:42 PM #6541回答ありがとうございました。
タブ数は10を超えるものがほとんどで、30ぐらいでとどめるつもりです。
御指示頂いた内容が理解できないためうまく起動しません。
また、格納変数内のテキストの表示方法もよく分かりませんでした。
サンプル添付してますので、御指導宜しくお願いします。2021年10月5日 at 11:39 AM #6543MZPlatformユーザー会サイト管理者ご連絡ありがとうございます。
お送りいただいたファイルを参考に簡単にサンプルファイルを作ってみました。
前回ご紹介したメソッド「「条件指定で下位のコンポーネントを取得する(String,String)」はタブ上の部品がパネルでも、また、パネル上のコンポーネント数が不定でも使えますが複雑になりますので、複合コンポーネントのメソッドを公開する処理にしてあります。
ご参考になれば幸いです。ご不明な点がございましたら、どうぞ再度ご連絡ください。
よろしくお願い申し上げます。2021年10月5日 at 5:18 PM #6545サンプルファイル有難うございました。
おかげで、助かりました。
理想の処理が出来そうです。2021年10月8日 at 4:14 PM #6555大変申し訳ありません。
テーター取得はサンプルデータで出来たのですが、表示させるのがわからなくなりました。
サンプル表示は必ず1タブに返します。
選択タブに返す方法教えて頂けないでしょうか。
御迷惑をお掛け致しますが宜しくお願いします。2021年10月8日 at 6:24 PM #6557MZPlatformユーザー会サイト管理者ご連絡ありがとうございます。
データを返す先が不定なので、データ取得時と同じように一旦[コンポーネント格納変数]に入れて、メソッドを起動します。
今回はメソッドに引数があるので、「起動メソッドに引数を追加する(String,Object)」の処理も設定します。
ファイルに処理を追加してみましたので、ご参考になれば幸いです。
ご不明な点がございましたら、どうぞ再度ご返信ください。よろしくお願いいたします。2021年10月12日 at 12:13 PM #6564迅速な回答有難う御座いました。
何とか理解することが出来ました。
本当に有難う御座いました。 -
著者投稿
- このトピックに返信するには、ログインしてください。