虚表 —— 数据叠加过滤(多次过滤)

光庆 26天前 206


数据叠加过滤,即:在过滤结果的基础上,多次重复过滤。

注意:虚表过滤并没有特意优化性能,建议尽量不要对大量数据进行多次过滤。


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();


最新回复 (0)
返回