给display字段增加筛选功能

给display字段增加筛选功能
void context()
{
    int selectedMenu;
    real test;
    formrun fr;
    Args ag;
    Itemname strtext;
    querybuilddataSource qb1;
    queryrun qr;
    query q;
    PopupMenu menu = new PopupMenu(element.hWnd());
    int a = menu.insertItem('Find');
    int b = menu.insertItem('Filter');
    int c = menu.insertItem('Remove Filter');
    ;
    
    selectedMenu = menu.draw();
    switch (selectedMenu)
    {
        case -1:
            break;
        case a:
            ag = new args('SysformSearch');
            fr = new formrun(ag);
            fr.run();
            fr.wait();
            strtext = fr.design().controlName('FindEdit').valueStr();
            if(strtext)
            {
                q = inventSum_Ds.query();
                qb1 =q.dataSourceTable(tablenum(InventSum));
                QB1.addRange(FieldNum(InventSum,PhysicalInvent)).value(SySQuery::value(strtext));
                INVENTSUM_DS.query(Q);
                INVENTSUM_ds.executeQuery();
            }
            break;
        case b:
            InventSum_DS.filter(FieldNum(InventSum,PhysicalInvent),Sysquery::value(InventSum.PhysicalInvent()));
            break;
        case c :
            InventSum_DS.removeFilter();
            break;
        Default:
            break;
    }

}
posted @ 2012-08-23 09:04  perock  阅读(719)  评论(1编辑  收藏  举报