【GeneXus】グローバルイベント2

グローバルイベントについて

概要

コンポーネント間でイベントを送受信ができるってことらしいです。
画面とポップアップのイベント送受信は実装してみたので、次はコンポーネント間の送受信をやってみます。

参考リンク

参考 グローバルイベントwiki.genexus.jp 参考 GlobalEvents 外部オブジェクトwiki.genexus.jp

実装

まずは親の画面を作成。
WebComponentを2個配置します。

次にWebComponent1を作成。
ボタンを2個配置し、1個は親画面にイベントを送信。もう1個は違うComponentにイベントを送信を想定。

次にWebComponent2を作成。
こちらはイベントを受け取るだけなので、適当に変数を配置。

GlobalEventsにEventを追加

次に各オブジェクトのソースコード。

WP_Parent

Event GlobalEvents.GoParent(&var)
	MSG(&var)
Endevent

WC_Children1

Event 'Parent'
	GlobalEvents.GoParent(!"親画面へ")
Endevent

Event 'Children'
	GlobalEvents.GoChildren(!"子画面2へ")
Endevent

WC_Children2

Event GlobalEvents.GoChildren(&var)
	&TEST = &var
Endevent

実行結果(↓gifです。動かない場合はクリックしてください)

Component1側で親WebPanelに向けてイベントを送信すると親画面でMSGが表示され
Component2に向けてイベントを送信するとcomponentでMSGが表示されました。

まとめ

前回はポップアップでしたが、今回はWebComponentを使用しました。
昔(Ev1のころとか)はできなかったことが、こんな感じでできると思わずBlog書いちゃいますね(棒)

以上です。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください