【仕様】コレクション型リストボックスの再描画

Go down

【仕様】コレクション型リストボックスの再描画

投稿 by miyako on 2018-11-19, 4:17 pm

たとえば,

Form.lb:=ds.Products.all()

のようなORDAコードでデータが表示されたリストボックスがあり,

This.Price
This.Price+10

のようなフォーミュラが列に定義されている場合,

「This.Price」のセルに新しい値を入力しても,「This.Price+10」のセルがすぐには更新されません。

これは,コレクション型リストボックスの仕様です。

ただ,明示的にリドローさせるために,

Form.lb:=ds.Products.all()

とデータを再計算する必要はありません。

列のOn Data Changeイベントで

Form.lb:=Form.lb

とデータソースを「タッチ」するだけでじゅうぶんです。フォームオブジェクトにバインドされた変数(この場合はFormのプロパティ)に値を代入すれば,明示的に「更新」フラグを立てることができ,直後の再描画サイクルでリドローされるようにすることができます。

エンティティセレクション(オブジェクト型)の自己代入であり,コピーしているわけではないので,この処理で余計なコストは発生しません。

miyako

投稿数 : 281
登録日 : 2016/07/05

トップに戻る Go down

トップに戻る


 
Permissions in this forum:
返信投稿: 不可