数据叠加过滤,即:在过滤结果的基础上,多次重复过滤。
注意:虚表过滤并没有特意优化性能,建议尽量不要对大量数据进行多次过滤。

Code AardioLine:38复制
1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.25.26.27.28.29.30.31.32.33.34.35.36.37.38.import
win
.ui;import
godking.vlistEx;- mainForm =
win
.form(text="vlistEx - table adapter"
;right=849
;bottom=578
;border="thin"
) - mainForm.add(
- button2={cls=
"button"
;text="过滤"
;left=280
;top=520
;right=392
;bottom=570
;z=2
}; - button3={cls=
"button"
;text="取消过滤"
;left=456
;top=520
;right=568
;bottom=570
;z=3
}; - vlist={cls=
"vlistEx"
;left=8
;top=8
;right=838
;bottom=513
;db=1
;dl=1
;dr=1
;dt=1
;edge=1
;transparent=1
;z=1
} - )
var
fields,cols = {},{};for
(i=1
;10
;1
){-
table
.push(fields,"f"
++i); -
table
.push(cols, "第"
++i++"列"
); - }
var
t = {fields=fields};for
(i=1
;1000
;1
){-
var
s={} -
for
(n=1
;10
;1
){ - s[
"f"
++n] = i+n-1
; - }
-
table
.push(t,s); - }
- mainForm.button2.oncommand =
function
(id,event){ - mainForm.vlist.filter(
"50"
,,false,false); - mainForm.vlist.filter(
"45"
,,false,true); - mainForm.vlist.filter(
"42"
,,false,true); - }
- mainForm.button3.oncommand =
function
(id,event){ - mainForm.vlist.filter();
- }
- mainForm.vlist.setTable(t,cols,
100
,1
); - mainForm.show();
win
.loopMessage();