コンポーネントは、
Panel オブジェクトまたは
Work With オブジェクトの
GeneXus ツールボックスで利用できます。
コンポーネントは、
Web コンポーネントと同様に、いかなる特性も失わずに
Panel オブジェクトまたは
Work With オブジェクトを含むことができるコントロールです。また、個別に実行することもできます。この機能により、GeneXus アプリケーション開発者に高度な再利用性が提供されます。
Web コンポーネントとの主な違いは、コンポーネントには
(Web パネルやトランザクションの) [ Type ] プロパティのような追加プロパティが不要であるということです。
EventDay で、セッションの内容の読み取り中にツイートを表示するとします。
そのために、「SessionsWithTweets」というのパネルを作成し、ツールボックスから 2 つのコンポーネントコントロールをドラッグします。
次に、以下のように、両方のコンポーネントコントロールに、セッション用の WorkWith オブジェクトとツイートの Panel オブジェクトを設定します。
最終的なレイアウトは次のようになります。
コンポーネントに組み込まれたオブジェクトが Refresh イベントを実行するようにします。
戻り値: なし
パラメーター: なし
注: Refresh メソッド/コマンドの違いとそれらの使用方法は、次のとおりです。
複数のコンポーネントを持つパネル内のイベントのトリガー順序は、
Work With for Smart Devices の Detail ノードと Section に似ています。パネル P に C
1...C
N コンポーネントがある場合、実行順序は次のようになります。
Client Start (P)
Start (P)
Refresh (P)
Load (P)
ClientStart (C1)
Start (C1)
Refresh (C1)
Load (C1)
<...>
ClientStart (CN)
Start (CN)
Refresh (CN)
Load (CN)
複数のコンポーネントを使用する場合、アクションバーの動作は、各コンポーネントのアクションを組み合わせたものになります。
前の例を続けて使用し、今回はツイートを分単位で読み取るとします。そのためには、Timer 変数 (パネルで非表示にして
Chronometer コントロールを設定) と関連付けられ、60 秒以上経過したときに画面を再表示するイベントを記述する必要があります。
Event ClientStart
// タイマーを初期化
&Timer = 0
Endevent
Event &Timer.Tick
// 1 分経過したらコンポーネントを再表示
If Mod(&Timer,60) = 0
Component2.Refresh()
EndIf
EndEvent
最後に、呼び出しをダッシュボードのセッションに置換し、Tweets ノードを削除し、アプリケーションを実行します。
注
オブジェクト: Panel、
Work With for Smart Devices
ジェネレーター: Apple、
Android
このプロパティは、
GeneXus 15 以降で利用できます。
動的コンポーネントの作成は、
GeneXus 15 Upgrade 12 以降で利用できます。