数据叠加过滤,即:在过滤结果的基础上,多次重复过滤。
注意:虚表过滤并没有特意优化性能,建议尽量不要对大量数据进行多次过滤。
import win.ui;
import godking.vlistEx;
/*DSG{{*/
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();