SMART datagrid v.1 > Examples

Back  Forward

Paging - Lazy Data Load  Example

首先,我们需要确认有关SMART datagrid格分页的分页概述基本例题。 

我们不需要将显示在各个页面上的所有数据预先加载到数据组中。 可以首先指定预期的所有页面数量,并在移动各个页面前后,在事件中加载所需数据并进行显示。 

网格数据组基本上支持虚拟行。 也就是说,当调用setRowCount并指定行的数量时,如果没有指定默认值,就会预备相当于行的数量的空间,但不会实际创建数据行。 之后,可以通过updateRow等,实际储存数据行的值。 可以通过hasData方法,了解特定行中,是否已加载数据。 

如果使用这个rowCount的特征,我们可以简单体现在需要变更页面的时点,加载所需数据的方式。 为体现这种方式,我们首先需要指定所有页面的数量。 

Code -1
    // 指定数据行的数量。
    dataset.setRowCount(53);
    
    // 页面大小为10个行,全部为6个页面。
    grid.setPaging(true, 10, 6);

另外,当页面位置发生变更时,如果是没有加载将要显示的数据的情况,就需要获取数据。 

Code -2
    grid.onPageIndexChanged = function (grid, oldPage, newPage) {
        var start = newPage * grid.pageSize();
        if (!dataset.hasData(start)) {
            loadData(start);
        }
    };
Grid - 1

如上述例题,在预先指定rowCount之前,可以通过在变更过程中增加所需页面的方式进行操作。 

查看源代码 JSP 

See Also
分页概述
GridView.setPaging
GridView.pageIndex
GridView.pageCount
GridView.onPaged
GridView.onPageCountChanged
GridView.onPageIndexChanging
GridView.onPageIndexChanged
Examples
分页
分页偏移
分页行