金蝶BOS设计开发指南
### 金蝶BOS设计开发指南 #### 一、引言 金蝶BOS平台作为一款先进的企业级应用开发平台,为企业提供了灵活高效的业务流程管理与应用构建能力。本文档旨在帮助开发者理解并掌握EAS-BOS平台中的常用控件及其相关属性、方法和事件的应用技巧,特别聚焦于`CombBox`和`ComboTreeDetailListUI`两个控件的深入探讨。 #### 二、CombBox 控件详解 **1. addItem** - **功能**: 向CombBox添加新的项目。 - **说明**: 使用此方法可以将指定的枚举值添加到下拉列表中作为可选项。 - **示例代码**: ```java dataType.removeAllItems(); // 清空所有选项 dataType.addItem(DataTypeEnum.SUMDATA); // 添加SUMDATA选项 dataType.addItem(DataTypeEnum.ELIMDATA); // 添加ELIMDATA选项 dataType.setSelectedItem(DataTypeEnum.SUMDATA); // 设置默认选中项 txtDataType.setText(DataTypeEnum.SUMDATA.getAlias()); // 设置文本显示 ``` **2. removeAllItems** - **功能**: 删除CombBox中的所有项目。 - **说明**: 此方法用于清空下拉列表中的所有选项。 - **示例代码**: ```java this.listOrgBound.removeAllItems(); // 清空listOrgBound的所有选项 ``` **3. setModel** - **功能**: 为CombBox设置模型。 - **说明**: 可以使用值对象集合为ComboBox控件赋值,通过`DefaultComboBoxModel`类实现。 - **示例代码**: ```java DefaultComboBoxModel model = new DefaultComboBoxModel(); ICsAccountTable iAccountTable = CsAccountTableFactory.getRemoteInstance(); CsAccountTableCollection tableInfos = iAccountTable.getCsAccountTableCollection(); Iterator ter = tableInfos.iterator(); while (ter.hasNext()) { CsAccountTableInfo tableInfo = (CsAccountTableInfo) ter.next(); model.addElement(tableInfo); } this.cbxMain.setModel(model); // 设置模型 ``` **4. setSelectedItem** - **功能**: 动态设置CombBox的选择项。 - **说明**: 通过此方法可以动态地改变下拉列表的当前选中项。 - **示例代码**: ```java this.listCurrency.getModel().setSelectedItem(currency1); // 设置currency1为选中项 ``` #### 三、ComboTreeDetailListUI 控件详解 **1. buildTreeFilter** - **功能**: 构造查询子节点数据的过滤条件。 - **说明**: 默认情况下,在`EntityViewInfo`中添加一个`getQueryFieldName()=treeNodeInfo`的过滤条件。如果需要自定义过滤条件,则需要重写此方法。 - **示例代码**: ```java protected void buildTreeFilter() { KDTreeNode treeNode = (KDTreeNode) treeMain.getLastSelectedPathComponent(); AddressClassInfo info = (AddressClassInfo) treeNode.getUserObject(); items().add(new FilterItemInfo("postalAddress", info.getClassName(), /*...*/)); } ``` **2. discardQuery** - **功能**: 刷新Query数据缓存。 - **说明**: 使用此方法可以清除特定查询的数据缓存。 - **示例代码**: ```java CacheServiceFactory.getInstance().discardQuery(this.mainQueryPK); // 清除主查询的数据缓存 ``` **3. getDefaultFilterForTree** - **功能**: 获取默认过滤条件。 - **说明**: 重写此方法以取消默认的过滤条件。 - **示例代码**: ```java @Override protected FilterInfo getDefaultFilterForTree() { return null; // 返回null取消默认过滤 } ``` **4. getGroupEditUIModal** - **功能**: 产生类别编辑UI的方式。 - **说明**: 此方法决定了如何生成类别编辑的用户界面。 - **示例代码**: ```java @Override protected String getGroupEditUIModal() { return UIFactoryName.MODEL; // 指定UI模式 } ``` **5. getGroupEditUIName** - **功能**: 指示Tree关联的类别编辑UI对象名。 - **说明**: 如果需要实现类别编辑功能,需要重写此方法来指定具体的UI类。 - **示例代码**: ```java @Override protected String getGroupEditUIName() { return CsAccountTypeEditUI.class.getName(); // 指定具体的UI类 } ``` **6. getLastSelectedPathComponent** - **功能**: 获取最后选中的树节点。 - **说明**: 通过此方法可以获取到树结构中最后被选中的节点信息。 - **示例代码**: ```java return (TreeBaseInfo) ((KDTreeNode) treeMain.getLastSelectedPathComponent()).getUserObject(); ``` #### 四、总结 通过对以上控件及其属性、方法和事件的学习,开发者可以更加熟练地使用金蝶BOS平台提供的工具进行高效开发。这些控件不仅能够提升用户体验,还能够帮助企业快速构建复杂的业务逻辑和应用界面。希望本文档能对您的开发工作有所帮助。
剩余22页未读,继续阅读
- 五空2014-09-19对于初学者还是非常有用,还是感谢一下楼主
- 粉丝: 1
- 资源: 1
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助