我们都知道分页查询包括数据库端分页和UI前端分页。
1.如果数据量很小,则无须数据库分页,让extremeTable直接进行UI分页即可。
2.如果数据量比较大,则应该进行数据库分页,并让extremeTable配合。数据库分页大家有自己的方案,这里就不提;我们只说一下extremeTable应该如何配合。
a.
首先,extremeTable显示的“记录总条数”不能等于它即将处理的items数,因为items只代表当页记录。那怎么显示一个记录总条数呢?
i.Struts2里应该先忽悠一下,强行指定记录总条数。
//在action里添加这样一个"totalRows"属性 public int getTotalRows() { return 记录总条数; } // "totalRows" 对应的是org.extremecomponents.table.core.TableConstants.TOTAL_ROWS 这个常量。 通过下面的设置,我们将让extremeTable标签从http context中读取"totalRows"。
ii.让extremeTable标签从http context中读取 "totalRows"
<@ec.table
items="records"
…
retrieveRowsCallback="limit"
>
必须做这个设置,否则extremeTable将把 records.size()当作总记录数。
b.未完待续