0

每次用户设置新日期(来自 WebService 的数据)时,我都需要重新填充网格。根据事件触发顺序,我在想:

(1) 动作事件:调用一个过程来获取数据,对其进行转换,填充 SDT 并将其放在 WebSession var 上。

(2) 刷新事件:用新值重新构建本地 SDT。

(3) 加载事件:加载网格。

但是,当我构建它时,我可以看到一个警告说:

spc0185:在对 Refresh 事件的调用之间不会保留 Websession 的内容。

而且我可以确认该行为有点奇怪(网格仅在用户第一次更改日期时刷新)。

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 var 更改时如何重新填充网格?

谢谢

4

0 回答 0