读书人

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

发布时间: 2012-12-21 12:03:49 作者: rapoo

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

之前体验过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"
?? ??? ??? ?handlepageItems="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!

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

查看导出效果

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

?

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

读书人网 >编程

热点推荐