之前体验过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框架的机制,只是使用,后续与大家继续分享其它功能.