需要子应用(基础资料,单据等),引用主数据基础资料的表单插件中使用beforeF7Select方法在对主数据分类左树添加过滤条件,V4.0.006质量加固标准补丁版本发布后可对外支持二开增加过滤
例子:
/**
* 注册
**/
@Override
public void registerListener(EventObject e) {
super.registerListener(e);
// 供应商F7标识
BasedataEdit supplier = getView().getControl("basedatafield");
if (supplier != null) {
supplier.addBeforeF7SelectListener(this);
}
}
/**
* 增加过滤
**/
@Override
public void beforeF7Select(BeforeF7SelectEvent arg0) {
ListShowParameter show = (ListShowParameter)arg0.getFormShowParameter();
List<QFilter> qFilters = new ArrayList<>();
//分类id in的过滤,也可用number in的形式,推荐这两种方式,能走索引
qFilters.add(new QFilter("id", QCP.in, new Long[] {1}));
show.getTreeFilterParameter().setQFilters(qFilters);
}
效果:
未过滤时:
代码过滤后:
推荐阅读