有個這樣的問題,大家給個建議:我有A,B兩個DDDW,用戶是選了A之后然后再選B。而且選A的時候會retrieve資料,選B的時候也會在同一個grid資料視窗retrieve資料。能不能這樣,用戶選A的時候,等待1秒鐘,如果這是用戶選了B,就通過B來retrieve資料,通過A來retrieve資料這一步驟就不執行了。如果用戶沒選B,還是通過A來retrieve資料。哪位大哥能給個好的解決方案呵,謝謝!
uj5u.com熱心網友回復:
不能加個查詢按鈕嗎。。uj5u.com熱心網友回復:
同時也要通過A來重繪B的,加個按鈕估計用戶接受不了,選一下A,還得點下按鈕,有些麻煩呵uj5u.com熱心網友回復:
如果延遲特別慢,建議開始時就dw_grid全部retrieve下來,然后setfilter("空")然后在A和B的itemchanged里面調同樣函式,
//偽代碼
if A<>"" Bthen
dw_grid.setfilter("?=A")
elseif B<>"" then
dw_grid.setfilter("?=B")
end if
uj5u.com熱心網友回復:
這個好像也不行呵,資料只有在選了A之后才能retrieve下……uj5u.com熱心網友回復:
不知道你到底是一個dw還是1個dw加2個query的小dw,你布局也沒講。如果DDDW是同一dw里的,哪怕沒有資料行,insetrow 然后deleterow之后,這個DDDW也會先retrieve一下。
uj5u.com熱心網友回復:
布局是這樣的,上面是一個freeform的資料,里面是AB兩個DDDW,下面是一個grid資料視窗。通過AB來retrieve下grid里面的資料uj5u.com熱心網友回復:
……uj5u.com熱心網友回復:
1設定一個實體變數ib_bchanged=false
2資料重繪事件grid.retrieve, timer(0),恢復標記ib_bchanged=false
3上面是一個freeform的資料itemchanged里:如果a值改變啟動timer(1),timer檢查ib_bchanged,如果是false呼叫資料重繪事件,
4上面是一個freeform的資料itemchanged里:如果b值改變,設定ib_bchanged=true,呼叫重繪事件
uj5u.com熱心網友回復:
有的等幾秒還不如按鈕方便直觀。。。
非要那樣的話就在timer里面retrieve,dw的itemchanged事件里面
timer(0)
。。
timer(N)
uj5u.com熱心網友回復:
不如加個按鈕,在第一個DDDW中選擇的時候,重繪第二個DDDW的內容,當用戶在兩個DDDW中都選擇完畢后,自己去點擊查詢按鈕,顯示查詢結果uj5u.com熱心網友回復:
lz這算是什么設計啊?知道的知道你在幫助用戶節省操作步驟,不知道,還以為你在糊弄人呢。一秒鐘,反映遲鈍點的人,就永遠來不及選B的值了uj5u.com熱心網友回復:
呵呵,現在真是在糊弄人了……轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/93627.html
標籤:腳本語言
下一篇:PB的物件層次關系
