
SAP Build AppsのMARKETPLACEには様々なコンポーネントが存在します。その中でもLIST系のコンポーネントはデータを表示する際に使用するので使用頻度が高いのではと思います。
大体のこれらのコンポーネントにはRefresh Data?とRefresh rateというプロパティが存在し、
Refresh Data?をTrueにすると、Refresh rateのタイミングでリストの内容を再取得し、更新します。
これを"更新ボタンをクリックしたら更新"など任意のタイミングで行えないか?というお問い合わせを頂きましたので、方法を解説したいと思います。
これだけで出来るのかと思った方、残念ながらそうではないのです。
このロジック、よく見るとComponent mountedイベントをきっかけに動作し、データを取得し、そこでRefresh Data?プロパティがTrueであるならRefresh rate分Delayを行い再度データ取得を行うというロジックです。そうなのです。実はこのロジックではRefresh Data?プロパティの値の変更はTrue→Falseへの変更は反映されますがFalse→Trueへの変更してもデータの再取得は反映されないのです。
Receive Eventコントロールを新規に配置し、Event Sourceとして"Internal property 'Refresh Data?' changed"を選択します。これをGet Record Collectionに接続します。
これにより、Refresh Data?プロパティが変更されたらGet Record Collectionが動作することになります。このようにRefresh Data?プロパティに割り当てたtrue/false型変数を、更新したいのであればTrueにしてその後すぐにFalseに戻します。これで"Internal property 'Refresh Data?' changed"イベントが動作し、データがリフレッシュされ、リストが新しい値で更新されます。
このようにすれば任意のタイミングでリストの更新が可能です。Refresh Data?による自動更新では満足できない場合はこの方法をぜひお試し頂ければと思います。
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
33 | |
14 | |
13 | |
13 | |
10 | |
8 | |
8 | |
8 | |
7 | |
7 |