OAF_OAF控件系列3 - AdvancedTable的实现(案例)
2014-06-02 Created By BaoXinjian
一、摘要
实现控件AdvancedTable功能
二、 案例
需求:实现控件AdvancedTable功能
1.AdvancedTable下的插件
(1). 属性
i. Column
ii. Column Group
iii. Footer: Add new Row & Total
iv. MutiSelection: 在VO中添加非数据库Item<DetailFlag>,将此Item对应值MutiSelection中
v. SingeSelection: 在VO中添加非数据库Item<SelectFlag>, 将此Item对应值SingleSelection中
vi. Table Action:放在Table上,列入Create Button
vii. Detail:在VO中添加非数据库Item<DetailFlag>,将此Item对应值Table的Detail View Attribute属性
2. 测试AdvancedTable -> Detail Region
(1). 设定属性
(2). 测试结果
3. 测试AdvancedTable -> SingleSelection Item
(1). 设定属性
(2). 测试结果
4. 测试AdvancedTable -> MutiSelection Item
(1). 设定属性
(2). 测试结果
5. 设定Item Sort,实现栏位Sort功能
6. AdvancedTable下的属性Form Value / Column / ColumnGroup / MultipleSelection / SingleSelection / tableActions / footer / detail
三、 案例实现
1. 测试AdvancedTable -> Detail Region
(1). 设定属性
(2). 测试结果
2. 测试AdvancedTable -> SingleSelection Item
(1). 设定属性
(2). 测试结果
3. 测试AdvancedTable -> MutiSelection Item
(1). 设定属性
(2). 测试结果
4. 关键代码
public void processRequest(OAPageContext pageContext, OAWebBean webBean) { super.processRequest(pageContext, webBean);
OAApplicationModule am = pageContext.getApplicationModule(webBean); Boolean executeQuery = BooleanUtils.getBoolean(false); Serializable[] parameters = { executeQuery }; Class[] paramTypes = { Boolean.class }; am.invokeMethod("initTableQuery", parameters, paramTypes); OAAdvancedTableBean table = (OAAdvancedTableBean)webBean.findChildRecursive("TableRN"); if (table == null) { MessageToken[] tokens = { new MessageToken("OBJECT_NAME", "TableRN") }; throw new OAException("AK", "FWK_TBX_OBJECT_NOT_FOUND", tokens); } table.queryData(pageContext, true);
OAAdvancedTableBean table2 = (OAAdvancedTableBean)webBean.findChildRecursive("Table2RN"); table2.queryData(pageContext, true);
am.invokeMethod("initLookupCodes"); am.invokeMethod("initTable3VO"); }
5. 设定Item Sort,实现栏位Sort功能
6. AdvancedTable下的属性Form Value / Column / ColumnGroup / MultipleSelection / SingleSelection / tableActions / footer / detail
7. Table Region可以可通过手工的方式写成AdvancedTable的形式,会更加灵活,下图为Table Region右击后可以做的操作
Thanks and Regards
技术交流,技术讨论,欢迎加入
Technology Blog Created By Oracle ERP - 鲍新建