0
点赞
收藏
分享

微信扫一扫

OAF_OAF控件系列3 - AdvancedTable的实现(案例)

素锦时年_1b00 2022-04-01 阅读 71

2014-06-02 Created By BaoXinjian

OAF_OAF控件系列3 - AdvancedTable的实现(案例)_数据库一、摘要

实现控件AdvancedTable功能


OAF_OAF控件系列3 - AdvancedTable的实现(案例)_控件_02二、 案例

需求:实现控件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


OAF_OAF控件系列3 - AdvancedTable的实现(案例)_控件_03三、 案例实现

1. 测试AdvancedTable -> Detail Region

    (1). 设定属性

        OAF_OAF控件系列3 - AdvancedTable的实现(案例)_OAF_04

    (2). 测试结果

        OAF_OAF控件系列3 - AdvancedTable的实现(案例)_数据库_05


2. 测试AdvancedTable -> SingleSelection Item

    (1). 设定属性

        OAF_OAF控件系列3 - AdvancedTable的实现(案例)_控件_06

    (2). 测试结果

        OAF_OAF控件系列3 - AdvancedTable的实现(案例)_控件_07


3. 测试AdvancedTable -> MutiSelection Item

    (1). 设定属性

        OAF_OAF控件系列3 - AdvancedTable的实现(案例)_控件_08

    (2). 测试结果

        OAF_OAF控件系列3 - AdvancedTable的实现(案例)_数据库_09


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功能

    OAF_OAF控件系列3 - AdvancedTable的实现(案例)_OAF_10

    OAF_OAF控件系列3 - AdvancedTable的实现(案例)_OAF_11


6. AdvancedTable下的属性Form Value / Column / ColumnGroup / MultipleSelection / SingleSelection / tableActions / footer / detail

    OAF_OAF控件系列3 - AdvancedTable的实现(案例)_OAF_12


7. Table Region可以可通过手工的方式写成AdvancedTable的形式,会更加灵活,下图为Table Region右击后可以做的操作

OAF_OAF控件系列3 - AdvancedTable的实现(案例)_数据库_13


Thanks and Regards


举报

相关推荐

0 条评论