首先,我们需要确认有关SMART datagrid格分页的分页概述和基本例题。
我们不需要将显示在各个页面上的所有数据预先加载到数据组中。 可以首先指定预期的所有页面数量,并在移动各个页面前后,在事件中加载所需数据并进行显示。
网格数据组基本上支持虚拟行。 也就是说,当调用setRowCount并指定行的数量时,如果没有指定默认值,就会预备相当于行的数量的空间,但不会实际创建数据行。 之后,可以通过updateRow等,实际储存数据行的值。 可以通过hasData方法,了解特定行中,是否已加载数据。
如果使用这个rowCount的特征,我们可以简单体现在需要变更页面的时点,加载所需数据的方式。 为体现这种方式,我们首先需要指定所有页面的数量。
// 指定数据行的数量。
dataset.setRowCount(53);
// 页面大小为10个行,全部为6个页面。
grid.setPaging(true, 10, 6);
另外,当页面位置发生变更时,如果是没有加载将要显示的数据的情况,就需要获取数据。
grid.onPageIndexChanged = function (grid, oldPage, newPage) {
var start = newPage * grid.pageSize();
if (!dataset.hasData(start)) {
loadData(start);
}
};
如上述例题,在预先指定rowCount之前,可以通过在变更过程中增加所需页面的方式进行操作。