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

posted on 2014-06-02 09:33  东方瀚海  阅读(977)  评论(0编辑  收藏  举报