F7控件经常被设置各种过滤条件

本文介绍了三种场景下F7控件的过滤条件设置方法:基本资料或业务单据表头、分录中的F7控件及左树右表结构中表头的F7控件。提供了具体的Java代码示例。

F7控件经常被设置各种过滤条件

这里总结了三种情况下的设置方法。

1. 普通基本资料或者业务单据表头的F7控件设置过滤的方法 在EditUI.java类的onload方法中加入如下代码 EntityViewInfo entity = new EntityViewInfo(); FilterInfo filter = new FilterInfo(); //设置过滤条件 Filter.getFilterItems().add(new FilterItemInfo(“过滤条件字段”,值,CompareType.EQUALS)); Entity.setFilter(filter); //F7控件设置实体视图信息 prmtF7.setEntityViewInfo(entity);

2. 分录中的F7设置过滤条件 大家知道分录中的F7控件我们没办法直接获得控件对象。所以要在EditUI.java中的onload方法中通过 Object obj = kdtEntrys.getColimn(“列名”).getEditor.getComponent(); If(obj instanceod KDBizPromptBox){   KDBizPromptBox prmtF7 = (KDBizPromptBox )obj;  //现在prmtF7控件对象得到了就可以设置过滤条件了方法和上面是一模一样 } 

 3左树右表结构中表头的F7控件(调用的是基础资料的ListUI对象) 假设现在有一个左树又表的基础资料的表头有一个F7控件,这个控件引用了一个名字为BaseListUI.ui的基础资料这个被引用的基础资料对应了两个JAVA类名为BaseListUI.java和BaseEditUI.java。找到这两个类我们接下来实现过滤 第一步BaseListUI.java覆盖父类的setF7Use(truectx)方法这个方法有两个参数一个是boolean,一个是Map。

代码如下

 声明一个boolean类型的全局变量

boolean isF7ListUI = false;

覆盖方法setF7Use(true,ctx) public void setF7Use(boolean isF7Use,Map  ctx){  isF7ListUI = true;  supper.setF7Use(isF7Use,ctx); }

覆盖getDefaultEntityViewInfo()方法

protected EntityViewInfo getDefaultEntityViewInfo(){

if(isF7ListUI){  EntityViewInfo entity = new EntityViewInfo(); 

 FilterInfo filter = new FilterInfo();  filter.getFilterItems().add(new FilterItemInfo("过滤条件字段", 值, CompareType.EQUALS));

entity.setFilter(filter); 

 return entity; 

 }else{

 return super.getDefaultEntityViewInfo();

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值