0

ユーザーが新しい日付 (WebService からのデータ) を設定するたびに、グリッドを補充する必要があります。イベントのトリガー順序によると、次のことを考えていました。

(1) アクション イベント: プロシージャを呼び出してデータを取得し、変換し、SDT に入力して、WebSession 変数に配置します。

(2) Refresh Event: 新しい値でローカル SDT を再構築します。

(3) Load Event: グリッドをロードします。

ただし、これをビルドすると、次のような警告が表示されます。

spc0185: Websession のコンテンツは、Refresh イベントの呼び出し間で保持されません。

そして、動作が少し奇妙であることを確認できます (グリッドは、ユーザーが最初に日付を変更したときにのみ更新されます)。

Event &myDate.ControlValueChanged
    composite
        setGridJson(&mydate)
        Refresh
    endcomposite
Endevent

Event Refresh
    &mydate = ctod(&websession.get('newDate')) //to refresh the date var
    &myJSON = &websession.get('GridJSON')
    &mySDT.FromJson(&myJSON)
Endevent

Event Load
    for &mySDTItem in &mySDT
        &field1 = &mySDTItem.field1
        &field2 = &mySDTItem.field2 
        &field3 = &mySDTItem.field3 
        LOAD
    endfor
Endevent

これに対する回避策はありますか? &myDate 変数が変更されるたびにグリッドを補充するにはどうすればよいですか?

ありがとう

4

0 に答える 0