在bos开发中要对f7控件进行甚至过滤条件,有以下几种情况:表头F7控件、分录F7控件(界面纯表格)、分录F7控件(调用基础资料LISTUI,左树右表)
1.表头F7控件
EntityViewInfo entityViewInfo = new EntityViewInfo();
FilterInfo filterInfo = new FilterInfo(); // 建立过滤条件
filterInfo.getFilterItems().add(new FilterItemInfo("deletedStatus", 1, CompareType.GREATER_EQUALS));
entityViewInfo.setFilter(filterInfo);
prmtF7.setEntityViewInfo(entityViewInfo);
2. 分录F7控件(界面纯表格)
与表头F7控件差不多,先获取单元格编辑控件,再进行相应的设置
Object obj = kdtEntrys.getColumn("supplier").getEditor().getComponent();
if(obj instanceof KDBizPromptBox){
KDBizPromptBox prmtF7 = (KDBizPromptBox)obj;
EntityViewInfo entityViewInfo = new EntityViewInfo();
FilterInfo filterInfo = new FilterInfo();
filterInfo.getFilterItems().add(new FilterItemInfo("deletedStatus",1, CompareType.EQUALS));
entityViewInfo.setFilter(filterInfo);
prmtF7.setEntityViewInfo(entityViewInfo);
}
3.分录F7控件(调用基础资料LISTUI,左树右表)
这种情况比较复杂,先查看抽象类生产的代码:
kdtEntrys_supplier_PromptBox.addSelectorListener(new SelectorListener() {
com.kingdee.eas.ors.basedata.master.client.ViewPointListUI kdtEntrys_supplier_PromptBox_F7ListUI = null;
public void willShow(SelectorEvent e) {
if (kdtEntrys_supplier_PromptBox_F7ListUI == null) {
try {
kdtEntrys_supplier_PromptBox_F7ListUI = new com.kingdee.eas.ors.basedata.master.client.ViewPointListUI();
} catch (Exception e1) {
e1.printStackTrace();
}
HashMap ctx = new HashMap();
ctx.put("bizUIOwner",javax.swing.SwingUtilities.getWindowAncestor(kdtEntrys_supplier_PromptBox_F7ListUI));
kdtEntrys_supplier_PromptBox_F7ListUI.setF7Use(true,ctx);
kdtEntrys_supplier_PromptBox.setSelector(kdtEntrys_supplier_PromptBox_F7ListUI);
}
}
});
查看代码发现,左树右表基础资料调用的是基础资料ListUI界面,
kdtEntrys_supplier_PromptBox_F7ListUI.setF7Use(true,ctx);
ctx为Map类型,可以传递各种类型数据,其中可以把过滤条件加入此处,通过查阅 setF7Use方法代码有如下代码:
f7Delegate = new com.kingdee.eas.framework.client.F7Render(this, ctx);
通过反编译可以看到F7Render类为封装类,代码如下:
public void init()
throws Exception
{
if(ctx != null)
{
isF7Use = true;
f7Filter = (EntityViewInfo)ctx.get("EntityViewInfo");
if(ctx.get("HasCUDefaultFilter") != null)
……
弄清原由了,可以进行相应的设置.
根据业务需求,在F7控件调用时过滤的已禁用的基础资料,而在基础资料列表中又需全部显示以便维护?
经上分析,可以清楚F7控件过滤条件传递过程,现在用另外一方式实现:
假设:基础资料为BaseListUI.ui--->BaseListUI.java BaseEditUI.java
第一步:基础资料BaseListUI.java覆盖抽象类AbstractBaseListUI.java中的setF7Use(true,ctx)方法:
public void setF7Use(boolean isF7Use, HashMap ctx) {
isF7ListUI = true;//标记是F7控件调用还是基础资料List
super.setF7Use(isF7Use, ctx);
}
第二步:过滤ListUI数据,覆盖getDefaultEntityViewInfo()方法:
protected EntityViewInfo getDefaultEntityViewInfo() {
if(isF7ListUI){
EntityViewInfo ewinfo = new EntityViewInfo();
FilterInfo vwFilter = new FilterInfo();
vwFilter.getFilterItems().add(new FilterItemInfo("deletedStatus",1, CompareType.EQUALS));
ewinfo.setFilter(vwFilter);
return ewinfo;
}else{
return super.getDefaultEntityViewInfo();
}
}
顺利完成!
通过debug分析,执行类顺序: setF7Use-->getDefaultEntityViewInfo-->onload
分享到:
相关推荐
NULL 博文链接:https://xy0792.iteye.com/blog/2056941
完整版(75个视频59.9元):https://download.csdn.net/download/yingcai111/21700028
完整版(75个视频59.9元):https://download.csdn.net/download/yingcai111/21700028
完整版(75个视频59.9元):https://download.csdn.net/download/yingcai111/21700028
安川F7B系列变频器能提高机械设备等级、实现高效率运行、节约电能、减少参数的设置,缩短检修保养的时间、在世界各地都能使用。能够满足用户各种需要的变频器。有力地支持所有机械设备的高性能化、节能化。向用户...
完整版(72个视频59.9元):https://download.csdn.net/download/yingcai111/21762149
日本安川全系列变频器使用说明书 f7说明书
完整版(75个视频59.9元):https://download.csdn.net/download/yingcai111/21700028
自己收集的FTP OCX控件合集,包含一个OCX函数查看器-可看OCX中的所有函数及所需参数,方便您使用: 6B605F6A CIFTP.OCX BE91B3F6 cscxftp.ocx FACF1D34 CSFTP32.OCX E22A7F7A EZFTP.OCX 5BF2AE1E FTP.ocx DDBC...
1. 基本原理...................................................................................5.3 如何设置通用查询中 F7 过滤条件? ..................................................................... 25
F7中控门禁一体操作说明及接线图,是IT人员和施工人员的必备资料
哈弗F7汽车使用手册用户说明书pdf电子版下载
安川f7变频器说明书rar,本资料是关于安川f7变频器说明书,更多详细内容请点击下载!
Keil.STM32F7xx_DFP.2.11.0,keil5 STM32F7xx版本芯片支持包
主动式喷气抑爆技术在抑制可燃气...点火延迟时间为60 ms时,实验条件下CO2和C3F7H的最低抑爆浓度分别为19.4%和17.4%;低于抑爆浓度的C3F7H能够促进CH4的燃烧爆炸,具有助燃作用;CO2和C3F7H在抑制CH4爆炸方面各有优缺点。
哈弗F7X汽车使用手册用户说明书pdf电子版下载
Oem7F7BOem7F7BOem7F7B
STM32F7编程手册,有助于了解STM32F7系列产品的使用。
Version: 2.12.0 (2019-07-17) Keil.STM32F7xx_DFP.2.12.0.pack Download Updated Pack to include subset of STM32Cube_FW_F7 Firmware Package version V1.15.0 using HAL Drivers V1.2.7 Added support for Low ...
在官网下载太慢了,Keil.STM32F7xx_DFP.2.11.0,来保存一波,Keil.STM32F7xx_DFP.2.11.0芯片支持包下载。Keil.STM32F7xx_DFP.2.11.0