我有一个数据存储区,当检索并有结果时,行应该显示在另一个窗口中
ds_1.Retrieve()
IF ds_1.RowCount()> 0那么
i_str_pass.po[1] = ds_1 OpenWithParm(w_error, i_str_pass)
END IF
i_str_pass是一个结构,po是一个powerobject
我想在w_error的数据窗口中显示ds_1的结果,而无需再次检索
我试着打电话给w_error
str_pass i_str_pass
i_str_pass = Message.PowerObjectparm
dw_1 = i_str_pass.po [1]
我调试了,看到我正确传递了它 但检索到的数据根本没有显示 我做错了什么?谢谢你。
答案 0 :(得分:3)
使用
i_str_pass.po[1]. DYNAMIC ShareData(dw_1)
而不是
dw_1 = i_str_pass.po[1]
令人惊讶的是,后者不是运行时错误,因为您正在将DataStore分配给DataWindow。
GetFullState / RowsCopy也很好,但由于您正在制作该数据的副本(可能是您可能关注的内容,也可能不是您所关注的内容),因此会导致内存损失。
答案 1 :(得分:1)
您可以查看GetFullState()
/ SetFullState()
:
blobl lbl_data
if i_str_pass.po[1].GetFullState(lbl_data) = 1 then
dw_1.SetFullState(lbl_data)
end if
您还可以查看ShareData()
以在2个DataStores或DataWindows之间建立“链接”。