开发示例 - F7列表数据过滤,以基础资料为例原创
金蝶云社区-野生的指针
野生的指针
4人赞赏了该文章 1,380次浏览 未经作者许可,禁止转载编辑于2021年11月03日 09:51:58

在很多场景,我们可能需要在打开F7列表时就过滤出符合条件的数据,该功能关键代码为:formShowParameter.getListFilterParameter().setQFilters(qFilters);

以基础资料为例子,效果图如下:

基础资料图

image.png

过滤后的效果图(过滤出kdec_combofield=111 and kdec_combofield2=AAA)

image.png

代码如下:

public class MultextGrepPlugins20210923 extends AbstractFormPlugin implements BeforeF7SelectListener {
    @Override
    public void registerListener(EventObject e) {
        super.registerListener(e);
        BasedataEdit bEdit = this.getView().getControl("kdec_basedatafield");
        bEdit.addBeforeF7SelectListener(this);
    }
    @Override
    public void beforeF7Select(BeforeF7SelectEvent evt) {
        ListShowParameter formShowParameter = (ListShowParameter) evt.getFormShowParameter();
        List<QFilter> qFilters = new ArrayList<>();
        qFilters.add(new QFilter("kdec_combofield", QCP.equals, "111"));
        qFilters.add(new QFilter("kdec_combofield2", QCP.equals, "AAA"));
        formShowParameter.getListFilterParameter().setQFilters(qFilters);
    }
}
需要注意,setQFilters传入的是一个List,List中的Qfilter是以and的逻辑执行的


赞 4