教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 资格考试 >

EAS-BOS应用框架编程指南(3)

来源:网络收集 时间:2026-02-13
导读: // 检查是否按下新建按钮 if (e.getSource() == btnAddNew) uiContext.put(“myObject”, null); else uiContext.pub(“myObject”, getMyObject()); } 2. protected String getEditUIModal():产生编辑UI的方式,

// 检查是否按下新建按钮

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字,全部文档内容请下载后查看。喜欢就下载吧 ……

EAS-BOS应用框架编程指南(3).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/412350.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)