EAS-BOS应用框架编程指南(3)
// 检查是否按下新建按钮
if (e.getSource() == btnAddNew) uiContext.put(“myObject”, null); else
uiContext.pub(“myObject”, getMyObject()); }
2. protected String getEditUIModal():产生编辑UI的方式,缺省是Dialog方式。可以重载这个方法,
指定其它的模式。
示例:
protected String getEditUIModal() {
return UIFactoryName.EDITWIN; }
3. protected boolean initDefaultFilter():设置默认过滤条件。该方法被onLoad调用。
4. protected void refresh(ActionEvent e):界面刷新方法。通过传递的参数e可以知道触发事件源。在
ListUI的缺省实现中,refresh是靠调用execQuery把数据重新获取一遍来达到刷新的效果的。派生类可以依据实际情况来定义更合理的刷新策略。
5. protected String getKeyFieldName():获取KDTable中的主键列名称,供编辑/删除时获取主键用。默
认值为\。
注意:BOS自动生成KDTable的列时,使用的是query对象名.id的形式,与超类中约定并不一致。要么在设计期将列名修改,要么在重载该方法返回正确的列名。
常见问题
1. 问:序时簿界面打开时会自动查询并显示所有的数据,我想加入一个过滤条件应该怎么做?
答:重载initDefaultFilter方法,为mainQuery对象(类型是EntityViewInfo)增加过滤条件(filterItem)。也可弹出一个对话框(例如通用查询对话框),让用户指定过滤条件。 2. 问:我增加了一个按钮,想在执行完毕的时候刷新一下列表,该怎么做? 答:在actionPerformed方法最后一行加调用exceQuery()的代码即可。
3. 问:我增加了一个按钮,想在执行前先检查列表是否有选中的行,该怎么做?
答:在actionPerformed方法第一行加调用checkSelected()的代码即可。该方法在检查到没有选中的行时,会弹出对话框提示用户,并且不再继续执行actionPerformed方法中后面的代码。 4. 问:如何得到选中行的主键值?
答:使用getSelectedKeyValue方法即可 2.2.4. 带通用查询的序时簿类UI
界面样式。
超类为CommonQueryListUI,从ListUI继承。在超类基础上增加了对通用查询对话框的管理。
类方法介绍
带通用查询的序时簿类UI从com.kingdee.eas.framework.client.CommonQueryListUI继承。
可选的方法:
1. protected void prepareCommonQueryParam(CommonQueryParam param):在该方法中定义要传递给通用
查询对话框的参数。超类的该方法已经把查询对象放到了param中,通常可不必再重载。如果有特别的需要,则按通用查询对话框的要求进行设置。 示例(用一个自己编写的过滤页面替换掉通用过滤页面):
protected void prepareCommonQueryParam(CommonQueryParam param) {
super.prepareCommonQueryParam(param);
param.setShowFilter(false); // 不显示通用过滤页面
param.addPanel(new MyQueryPanel()); // 加入自己的过滤页面 }
常见问题
1. 问:打开带通用查询的序时簿类UI,缺省会弹出通用查询对话框,我怎么调整这个行为?
答:超类使用getDefaultFilterInited()方法来判定UI是否已设置了缺省的filter。当没有设置时,就会弹出通用查询对话框。你可以重载initDefaultFilter方法,设置缺省的filter并返回true(不设置filter也没有关系,主要是返回true即可)。 2.2.5. 单据序时簿类UI
超类为BillListUI,从CommonQueryListUI继承。在超类基础上增加了对单据通用操作的处理。
2.2.6. 层次数据序时簿类UI
超类为TreeListUI,从ListUI继承。在超类基础上,增加了一个KDTree,以管理层次数据。除支持在
KDTable中展现数据的编辑外(该能力从ListUI继承),还支持Tree本身的编辑(典型如地址簿分类的编辑)。 类方法介绍
层次数据序时簿类UI从com.kingdee.eas.framework.client.TreeListUI继承。通过BOS Studio完成UI对象的创建、更改继承Query对象的类型以及处理控件绑定等。KDTree上每个节点的类型为KDTreeNode类型。
必须重载的abstract方法:
1. protected abstract String getQueryFieldName():点击树上节点时形成过滤条件时的字段,例如地址
簿序时簿界面右边的地址列表要依据左边Tree上选中的地址分类而刷新,此处则返回Address.class即可。
2. protected abstract ITreeBase getTreeInterface():获取层次数据实体的业务接口,以便调用业务方
法。要求实体必须从TreeBase及其子类派生。
可选的方法:
1. protected void buildTreeFilter():构造查询子节点数据的过滤条件。在TreeListUI中默认实现为在
EntityViewInfo中添加一个getQueryFieldName()=treeNodeInfo的过滤条件,即查询对象的某个属性关联到Tree节点所代表的对象。超类认为这种查询条件是是最常见的情况,例如地址簿对象有一个属性指向关联的地址簿分组对象。该默认实现依赖于getQueryFieldName纯虚方法。如果你需要构造的查询条件不是这种形式,则需要重载本方法自行设定过滤条件。 示例:
protected void buildTreeFilter() {
// 清空并加入自己的过滤条件(通讯地址包含被选中地址簿分类的名称=>仅示意而已) FilterItemCollection items = mainQuery.getFilter().getFilterItems(); items.clear();
items().add(new FilterItemInfo (\}
KDTreeNode treeNode = (KDTreeNode)treeMain.getLastSelectedPathComponent(); AddressClassInfo info = (AddressClassInfo)treeNode.getUserObject();
2. protected String getGroupEditUIName():指示Tree关联的类别编辑UI对象名,如果界面需要实现类别编辑,则需要重载该方法。 3. protected String getGroupEditUIModal():与ListUI类似,表示产生类别编辑UI的方式。 4. protected void prepareGroupUIContext(UIContext uiContext, ActionEvent e):类似于ListUI对关
联EditUI的处理方式,允许构造传递给GroupEditUI的UIContext。超类默认对于新增类别,传入了当前选中的节点对象(默认为是新增节点的父节点,通过UIContext.PARENTNODE传递)。
5. protected String getRootName():定义一个虚拟根节点的显示名称,默认返回null,即不需要虚拟根
节点。此时,所有节点都依据实际的数据构造,可能会有多个一级节点。继承类可以重载,定义虚拟根结点。
示例(地址簿序时簿需要定义一个虚的根节点): protected String getRootName() { }
return \地址分类\
6. protected void initTree():初始化构造Tree。一般情况下请不要重载这个方法,除非你决定用自己的
ITreeBuilder接口的实现类替换掉超类默认提供的LNTreeBuilder。 7. protected ILNTreeNodeCtrl getLNTreeNodeCtrl():返回与LNTreeBuilder配合使用的ILNTreeNodeCtrl
实现类。超类提供默认的实现类DefaultLNTreeNodeCtrl。在特定情况下需要重载,例如菜单树需要根据权限进行过滤而不是仅根据longnumber过滤时。
常见问题
1. 问:如何启用TreeListUI对Tree分组的编辑能力?
答:首先将分组编辑相关的按钮Visible属性设 …… 此处隐藏:4216字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [资格考试]机械振动与噪声学部分答案
- [资格考试]空调工程课后思考题部分整合版
- [资格考试]电信登高模拟试题
- [资格考试]2018年上海市徐汇区中考物理二模试卷(
- [资格考试]坐标转换及方里网的相关问题(椭球体、
- [资格考试]语文教研组活动记录表
- [资格考试]广东省2006年高应变考试试题
- [资格考试]LTE学习总结—后台操作-数据配置步骤很
- [资格考试]北京市医疗美容主诊医师和外籍整形外科
- [资格考试]中学生广播稿400字3篇
- [资格考试]CL800双模站点CDMA主分集RSSI差异过大
- [资格考试]泵与泵站考试复习题
- [资格考试]4个万能和弦搞定尤克里里即兴弹唱(入
- [资格考试]咽喉与经络的关系
- [资格考试]《云南省国家通用语言文字条例》学习心
- [资格考试]标准化第三范式
- [资格考试]GB-50016-2014-建筑设计防火规范2018修
- [资格考试]五年级上册品社复习资料(第二单元)
- [资格考试]2.对XX公司领导班子和班子成员意见建议
- [资格考试]关于市区违法建设情况的调研报告
- 二0一五年下半年经营管理目标考核方案
- 2014年春八年级英语下第三次月考
- 北师大版语文二年级上册第十五单元《松
- 2016国网江苏省电力公司招聘高校毕业生
- 多渠道促家长督导家长共育和谐 - 图文
- 2018 - 2019学年高中数学第2章圆锥曲线
- 竞争比合作更重要( - 辩论准备稿)课
- “案例积淀式”校本研训的实践与探索
- 新闻必须客观vs新闻不必客观一辩稿
- 福师大作业 比较视野下的外国文学
- 新编大学英语第二册1-7单元课文翻译及
- 年产13万吨天然气蛋白项目可行性研究报
- 河南省洛阳市2018届高三第二次统一考试
- 地下车库建筑设计探讨
- 南京大学应用学科教授研究方向汇编
- 2018年八年级物理全册 第6章 第4节 来
- 毕业论文-浅析余华小说的悲悯性 - 以《
- 2019年整理乡镇城乡环境综合治理工作总
- 广西民族大学留学生招生简章越南语版本
- 故宫旧称紫禁城简介




