1.前端js代码
1).<script src="/scm/js/jquery-1.3.2.js" type="text/javascript"></script>
2).<script type="text/javascript" language="javascript" src="jqtables/js /jquery.dataTables.js"></script>
$(function(){
var oTable = $('#datatable').dataTable({
'bJQueryUI': true,
"bProcessing":true,
"bServerSide": true,
"iDisplayStart":0,
"iDisplayLength": 5,
"sAjaxSource":"region_safe_home
_json.action?region.id=1",
"sAjaxDataProp":"applyInfoList",
"aoColumns": [
{ "mDataProp": "id" },
{ "mDataProp": "resource.resourceName" },
{ "mDataProp": "operateTypeName" },
{ "mDataProp": "applyUser" },
{ "mDataProp": "statusName" },
{ "mDataProp": "createTime"}
],
'sPaginationType': 'full_numbers',
'bSort':false,
});
});
?3).HTML代码中table的id为datatable
2.Action中
private int curPage;
private String iTotalRecords; //向前端返回数据需要的JSON对象
private String iTotalDisplayRecords;//向前端返回数据需要的JSON对象
private int iDisplayLength;
private int iDisplayStart;
public String applyHome() throws ServiceException{
return SUCCESS;
}
public String applyList() throws ServiceException{
int displayLength = iDisplayLength;
int displayStart = iDisplayStart ;
applyInfoList = this.getApplyInfoManager().findApplyInfoByRegion(region);
int totalNum = applyInfoList.size();
int pageCount = totalNum/displayLength;
int remainder = totalNum%displayLength;
if(remainder != 0){
pageCount = pageCount + 1;
}
iTotalRecords = totalNum+"";
iTotalDisplayRecords = totalNum+"";
curPage = displayStart/displayLength+1;
int startNum = displayStart;
int endNum = 5;
startNum = displayLength*(curPage-1);
if(remainder != 0){
if(curPage == pageCount){
endNum = startNum + remainder;
}else{
endNum = startNum+displayLength;
}
}else {
endNum = startNum+displayLength;
}
applyInfoList = applyInfoList.subList(startNum, endNum);
return SUCCESS;
}
?
1 楼
vinsonchan11
2012-03-11
Hi
我想问一下如果我透过呼叫服务器API取得JSON资料,怎样控制,它那个iDisplayStart
意思就是,如果服务器返回了10000条结果,我怎么告诉DataTable的别全部取来,分页时使用者按到哪,儋料才取到哪?
Vinson
我想问一下如果我透过呼叫服务器API取得JSON资料,怎样控制,它那个iDisplayStart
意思就是,如果服务器返回了10000条结果,我怎么告诉DataTable的别全部取来,分页时使用者按到哪,儋料才取到哪?
Vinson
2 楼
henry_huangs
2012-03-17
vinsonchan11 写道
Hi
我想问一下如果我透过呼叫服务器API取得JSON资料,怎样控制,它那个iDisplayStart
意思就是,如果服务器返回了10000条结果,我怎么告诉DataTable的别全部取来,分页时使用者按到哪,儋料才取到哪?
Vinson
我想问一下如果我透过呼叫服务器API取得JSON资料,怎样控制,它那个iDisplayStart
意思就是,如果服务器返回了10000条结果,我怎么告诉DataTable的别全部取来,分页时使用者按到哪,儋料才取到哪?
Vinson
啊,我想想,应该是从服务端返回JSON数据,iDisplayStart也在服务端传过来的。
3 楼
linuxsnort
2012-04-09
Hi,您好,请问您那有完整的datatables和Struts的Demo不?我在网上找了好几天了都没有找到,好不容易看到您这里了,但是又不全,如果您有完整的代码的话,麻烦发我一份,谢谢,我的邮箱linuxsnort@163.com。