您的位置:首页 > 其它

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

2013-04-19 17:06 609 查看
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();

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: