`
bstek-mark
  • 浏览: 12538 次
  • 来自: ...
文章分类
社区版块
存档分类
最新评论

Dorado分页

阅读更多

Dorado翻页通常使用的UI是DataTable + Pagepilot。

如果使用的DataSet是AutoSqlDataset,则很容易实现分页,只需要将DataTable和Pagepilot绑定到同一个Dataset就可以了,不需要写任何java和javascript代码。

如果使用的DataSet是CustomDataset,则实现分页会稍稍写一本分java代码,步骤如下:

1.将DataTable和Pagepilot绑定到同一个Dataset。

2.为DataSet创建监听器,覆盖public void afterLoadData(Dataset dataset)方法,实例代码如下:

  public void afterLoadData(Dataset dataset)
     throws Exception {
     //记录集

     List ls = new ArrayList(dataset.getPageSize());
     int pageIndex = dataset.getPageIndex();
     //总页数
     //总记录数
     DBStatement dbs = new DBStatement();
     String countSql = "select count(1) from employee";
     dbs.setSql(countSql);
     int recordCount = dbs.query().getInt(0);
     dbs.close();
    
     String sql = "select * from employee,dept where employee.dept_id=dept.dept_id";
     dbs.setSql(sql);
     List allResult = dbs.queryForList();
     PagingHelper paging = new PagingHelper(dataset.getPageSize(), dataset.getPageIndex(), allResult.size());
     List result = allResult.subList(paging.getFromIndex(), paging.getToIndex()); // 当页的记录

     for(int i=0; i<result.size(); i++){
        VariantSet vs = (VariantSet)result.get(i);
        Employee e = new Employee();
        e.setEmployee_id(vs.getString("employee_id"));
        e.setEmployee_name(vs.getString("employee_name"));
        e.setDept_id(vs.getString("dept_id"));
        e.setDept_name(vs.getString("dept_name"));
        e.setSex(vs.getString("sex"));
        e.setBirthday(vs.getDate("birthday"));
        e.setMarried(vs.getString("married"));
        e.setSalary(vs.getFloat("salary"));
        e.setDegree(vs.getString("degree"));
        e.setEmail(vs.getString("email"));
        e.setWeb(vs.getString("web"));
        e.setCmnt(vs.getString("cmnt"));
        ls.add(e);
     }
    
     dbs.close();
     int pageCount = paging.getPageCount();
     //设置Dataset
     dataset.fromDO(ls);
     dataset.setPageCount( pageCount );
  }

总结:

1.Dorado的分页是DataSet自己实现的,需要2个重要数据,当前页面所用的DataSet记录和总的记录页数。

2.有了当前页面所用的DataSet记录,DataTable就有了可以展示的数据;有了总的记录数,Pagepilot就可以展示分页标签了。

3.PagingHelper的功能是根据PageIndex、PageSize、TotalRow来计算FromIndex、PageCount、ToIndex。

分享到:
评论

相关推荐

    dorado新手快速入门

    - **部门维护**和**员工信息维护**:这两个章节介绍了如何创建和维护组织架构的各个部分,涉及视图模型、数据集、数据表格、分页导航条、数据导航条、自动表单、数据更新命令和自定义组件的使用。 - **综合管理**...

    dorado展现中间件深入浅出

    ### dorado展现中间件深入浅出 #### 一、准备运行环境 在开始学习dorado展现中间件之前,首先需要确保计算机上有适当的运行环境。这包括安装和配置Java环境以及开发环境。 **1.1 掌握Java环境的安装配置** - **...

    dorado展现中间件深入浅出1of3

    - 学习如何使用DORADO提供的不同类型的下拉框控件,包括列表下拉框ListDropDown、数据集下拉框DatasetDropDown和分页过滤下拉框DynamicDropDown。 - 掌握如何准备数据源、新建下拉框控件、绑定数据集以及开发步骤...

    Dorado7实战必修之企业通讯录离线教程.pdf

    ### Dorado7实战必修之企业通讯录离线教程知识点概览 #### 一、搭建开发环境 **1.1 概述** 本章节主要介绍了搭建Dorado7开发环境的基本流程,包括必要的软件安装和配置步骤。对于初学者来说,这一步是整个学习...

    Dorado快速入门

    - 创建分页导航条和数据导航条,实现数据分页和导航功能。 - 创建自动表单,支持部门信息的编辑和保存。 - 创建数据更新命令,处理数据的更新操作。 - 创建按钮对象,实现界面操作。 - 创建JSP页面,整合所有...

    DORADO组件使用技巧.pdf

    9. **PagePilot(翻页导航条)**:用于分页数据的导航。 #### 七、菜单工具使用技巧 菜单工具用于构建应用程序的导航和功能菜单: 1. **Menu(菜单)**:创建下拉菜单或上下文菜单。 2. **MenuBar(菜单工具栏)...

    Dorado7xQuickStart-Wiki-Pdf-20120626.pdf

    - **查询分页**:实现数据查询及分页功能。 - **参数查询**:支持单个参数或多参数查询。 #### 六、表单开发技巧 这部分内容涵盖了如何使用Dorado7创建表单,包括对话框、自动表单等。 - **Dialog对话框**:介绍...

    dorado基础 快速入门

    - `Table`组件:用于展示数据列表,支持分页、排序、过滤等功能。 - `Tree`组件:展示层级结构数据,可以进行展开、折叠操作。 - `Form`组件:用于数据输入和编辑,包含多种控件如文本框、下拉框等。 4. **数据...

    dorado 5 组件详解 v1.1

    DataTable组件用于以表格形式展示数据集合,支持数据排序、分页、过滤等功能,是数据密集型Web应用中不可或缺的组成部分。 ##### a) 简述 DataTable不仅能够高效地处理大量数据,还允许用户通过简单的操作(如点击...

    喝喝茶编编程(使用dorado基础技术进行Web应用开发)

    根据给定的文件信息,以下是对“喝喝茶编编程(使用dorado基础技术进行Web应用开发)”这一主题的相关知识点的详细阐述。 ### dorado基础技术进行Web应用开发概述 #### 1. 前言 本文档主要针对初次接触dorado的...

    7天学会DORADO

    ### 7天学会DORADO #### 知识点概览 本文档旨在通过一系列教程帮助初学者在7天内掌握Dorado框架的基本操作与应用。Dorado是一款强大的企业级应用开发框架,它极大地简化了Java Web应用的开发流程。本指南将带你从...

    dorado7插件包 最新2012.01-30.zip

    6. **强大的数据处理**:Dorado7的Grid组件可以处理大量数据,提供分页、排序、过滤等功能,同时支持服务器端和客户端的数据处理策略。 7. **Ajax支持**:通过Ajax技术,Dorado7能够实现页面的部分刷新,提高用户...

Global site tag (gtag.js) - Google Analytics