老牛分享使用TablePager组件开发数据展示

simplesns 发布于 2011/04/21 23:16
阅读 335
收藏 1

之前体验过simple开发新增后, 已经熟悉了simple的开发思路,开发新增使用 validation(验证组件),calendar(日期),ajaxRequest  (ajax组件)三个组件,完成了表单数据按照业务规则的要求提交后台持久化到数据库,完成新增功能,使用任何框架都能实现,但是当业务发生变动后,使用 simple开发的新增维护成本就很低,在新增功能开发完成后,项目经理就提出几点改进需求,比如解决对指定字段通过指定表查询数据,并以字典的形式显 示,使用simple完成该功能,只需要多声明一个组件配置查询sql就可以完成工作,无论是稳定性还是开发效率都是可以保证的,以后单独与大家分享。

今天展示使用TablePager组件完成数据的展示。

如果你对Simple 的 TablePager 组件还不熟悉,建议先阅读 Pager、TablePager、GroupTablePager 组件介绍,根据项目要求,完成数据展示需要完成如下功能:

    1)统一的展现样式

    2)对每个字段进行排序

    3)页面展现字段支持自定义配置

    4)支持excel导出

    5)开发效率高

开发步骤:

1)声明组件,本例贴出所有代码

<?xml version="1.0" encoding="UTF-8"?>
<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:noNamespaceSchemaLocation="/xsd/default/simple.xsd">
  <scriptEval>first</scriptEval>
  <importPage>
    <value>/template/t.xml</value>
  </importPage>
  <components>
          <tablePager name="testTablePager" containerId="testTablePager "  pagerBarLayout="bottom"
            handleClass="demo.TestTablePagerHandle" pageItems="5"  csvExportAction="false">
    
            <columns>
                <column columnText="车牌号"  columnName="cph" separator="true"

                                                               headerStyle="width: 15%" style="width: 15%" />
                <column columnText="车辆名称"  columnName="clmc" separator="true"

                                                               headerStyle="width: 20%" style="width: 20%" />
                <column columnText="车辆类型"   columnName="cx"  separator="true"

                                                               headerStyle="width: 15%" style="width: 15%"/>
                <column columnText="状态"  columnName="kr" separator="true"

                                                               headerStyle="width: 15%" style="width: 15%" />
                <column columnName="action" sort="false" separator="true" 

                                                               style="text-align: center; width: 64px;"
                headerStyle="width: 64px;" columnText='操作' />
            </columns>
    
        </tablePager>
  </components>
</page>

2)实现业务Handle

    需要继承  AbstractTablePagerHandle,覆盖 createDataObjectQuery 接口.

    代码如下:

     public class TestTablePagerHandle extends AbstractTablePagerHandle  {
    @Override
    public Object getBeanProperty(final ComponentParameter compParameter, final String beanProperty)
            throws Exception {

           ....

      }  

      @Override
       public IDataObjectQuery<?> createDataObjectQuery(final ComponentParameter compParameter)
            throws Exception {    
            return DataObjectManagerFactory.getTableEntityManager(getApplication(),

                                                               new Table("tablename")).query(null);
       }

     }

红色的就是需要写的代码,上面是查询所有数据,simple支持标准sql.

3)  运行效果,这不是魔术,这是simple!

查看导出效果

 

总结:  使用simple 开发查询是比较简单的,这里没有分享simple框架的机制,只是使用,后续与大家继续分享其它功能.

加载中
0
q
qinlu20

会抽空看看的。

返回顶部
顶部