动态表单,单据列表控件和过滤面板快速过滤原创
6人赞赏了该文章
2,634次浏览
编辑于2023年04月28日 11:14:24
设计动态表单
拖入过滤控件
拖入快速搜索
拖入单据列表控件,并绑定实体,配置字段
结果
插件
package kd.ecos.demo; import kd.bos.dataentity.entity.LocaleString; import kd.bos.entity.filter.FilterParameter; import kd.bos.filter.FilterColumn; import kd.bos.filter.FilterContainer; import kd.bos.form.control.events.*; import kd.bos.form.plugin.AbstractFormPlugin; import kd.bos.list.BillList; import kd.bos.orm.query.QFilter; import java.util.*; public class DemoFilterContainerPlugin extends AbstractFormPlugin implements FilterContainerInitListener, SearchClickListener{ @Override public void initialize() { super.initialize(); // 初始化过滤面板 FilterContainer filterContainer = getControl("kdec_filtercontainerap"); if (filterContainer != null) { // 过滤面板绑定单据实体 filterContainer.setBillFormId("kdec_textline_bill"); filterContainer.addFilterContainerInitListener(this); filterContainer.addSearchClickListener(this); } } @Override public void filterContainerInit(FilterContainerInitEvent filterContainerInitEvent) { // 添加一个快速过滤项 FilterColumn filterColumn = new FilterColumn(); filterColumn.setFieldName("kdec_textline_name"); filterColumn.setCaption(new LocaleString("纺织物名称")); filterContainerInitEvent.getFastFilterColumns().add(filterColumn); } // 快速过滤搜索时,会调用这个事件,在这个事件中,将过滤条件设置给单据列表 @Override public void click(SearchClickEvent searchClickEvent) { BillList billList = getControl("kdec_billlistap"); // 获取快速过滤信息 List<QFilter> qFilters = searchClickEvent.getFastQFilters(); FilterParameter FilterParameter = new FilterParameter(qFilters, "asec"); // 单据列表设置过滤项 billList.setQueryFilterParameter(FilterParameter); // 刷新单据列表 this.getView().updateView(billList.getKey()); } }
赞 6
6人点赞
还没有人点赞,快来当第一个点赞的人吧!
打赏
0人打赏
还没有人打赏,快来当第一个打赏的人吧!
推荐阅读