在jsp页面中使用了<ec:table>标签并自己写了分页功能,本想利用eXtremeTable中的字段排序功能的,可是在我的页面内只能当前页面的数据进行排序,而不是全部数据进行排序,这是什么原因呢:代码如下
<form id="form1" name="form1" method="post" action="${pageContext.request.contextPath}/manage.do?method=pagination&page=1">
.
.省略其它代码
. <ec:table items="userList" var="user"
action="${pageContext.request.contextPath}/manage.do?method=pagination&page=1"
imagePath="${pageContext.request.contextPath}/images/extremecomponents/images/*.gif"
showPagination="false" showStatusBar="false" showTooltips="false"
filterable="false" autoIncludeParameters="false" form="form1"
>
<ec:row highlightRow="true">
<ec:column width="4%" cell="com.cz.util.SelectCell" headerCell="com.cz.util.HeaderCell" value="${user.workNumb}"
alias="checkbox" title="全选"/>
<ec:column width="8%" property="workNumb" title="工号"/>
<ec:column width="8%" property="name" title="姓名"/>
<ec:column width="10%" property="dept" title="部门"/>
</ec:row>
</ec:table>
.
.省略其它代码
.
</form>
分页代码的功能是:
public List pagination(int page, int rowsPerPage) {
Query query = getSession().createQuery("from User");
List list = query.setFirstResult((page-1)*rowsPerPage).setMaxResults(rowsPerPage).list(); return list;
} 比如有8条数据,每页5条,分为2页,然后我点击“工号“字段进行排序,它只能在第一页显示的5条数据进行排序,第二页的3条数据没反应不进行排序,实在不知道哪的原因了,有哪位大哥知道教下小弟,谢谢了
<form id="form1" name="form1" method="post" action="${pageContext.request.contextPath}/manage.do?method=pagination&page=1">
.
.省略其它代码
. <ec:table items="userList" var="user"
action="${pageContext.request.contextPath}/manage.do?method=pagination&page=1"
imagePath="${pageContext.request.contextPath}/images/extremecomponents/images/*.gif"
showPagination="false" showStatusBar="false" showTooltips="false"
filterable="false" autoIncludeParameters="false" form="form1"
>
<ec:row highlightRow="true">
<ec:column width="4%" cell="com.cz.util.SelectCell" headerCell="com.cz.util.HeaderCell" value="${user.workNumb}"
alias="checkbox" title="全选"/>
<ec:column width="8%" property="workNumb" title="工号"/>
<ec:column width="8%" property="name" title="姓名"/>
<ec:column width="10%" property="dept" title="部门"/>
</ec:row>
</ec:table>
.
.省略其它代码
.
</form>
分页代码的功能是:
public List pagination(int page, int rowsPerPage) {
Query query = getSession().createQuery("from User");
List list = query.setFirstResult((page-1)*rowsPerPage).setMaxResults(rowsPerPage).list(); return list;
} 比如有8条数据,每页5条,分为2页,然后我点击“工号“字段进行排序,它只能在第一页显示的5条数据进行排序,第二页的3条数据没反应不进行排序,实在不知道哪的原因了,有哪位大哥知道教下小弟,谢谢了
或者在jsp页面用了<ec:table>后生产的html页面中,会有如下的一些隐藏的input属性
<input type="hidden" name="ec_i" value="ec" />
<input type="hidden" name="ec_eti" />
<input type="hidden" name="ec_ev" />
<input type="hidden" name="ec_efn" />
<input type="hidden" name="ec_crd" value="5" />
<input type="hidden" name="ec_p" value="1" />
其中:ec是<ec:table>生成的html文件中table名,ec_crd是当前页显示的数据条数么?
那ec_eti、ec_ev、ec_efn和ec_p分别是什么呢,谢谢了
public List pagination(int page, int rowsPerPage) {
Query query = getSession().createQuery("from User");
List list = query.setFirstResult((page-1)*rowsPerPage).setMaxResults(rowsPerPage).list(); return list;
} 改成
public List pagination(int page, int rowsPerPage) {
Query query = getSession().createQuery("from User");
List list = query.list(); return list;
}