jquery.jqGrid 分页参数封装
时间: 2023-09-25 13:13:41 浏览: 104
在使用jquery.jqGrid插件时,分页参数的封装可以通过设置`postData`属性来实现。
具体步骤如下:
1. 定义一个函数来封装分页参数:
```javascript
function getGridData(pageNum, pageSize) {
var postData = {};
postData.page = pageNum;
postData.rows = pageSize;
return postData;
}
```
其中,`pageNum`和`pageSize`分别表示当前页码和每页显示的记录数。
2. 在jqGrid初始化时,将上一步中定义的函数赋值给`postData`属性:
```javascript
$("#grid").jqGrid({
url: "data.json",
datatype: "json",
colNames: ['ID', 'Name', 'Price'],
colModel: [
{name: 'id', index: 'id', width: 55},
{name: 'name', index: 'name', width: 90},
{name: 'price', index: 'price', width: 80, align: "right"}
],
rowNum: 10,
rowList: [10, 20, 30],
pager: '#pager',
sortname: 'id',
viewrecords: true,
sortorder: "desc",
postData: getGridData(1, 10) // 设置分页参数
});
```
在上面的代码中,`postData`属性的值是`getGridData(1, 10)`,表示默认显示第一页,每页显示10条记录。
3. 当用户点击分页按钮时,重新设置`postData`属性:
```javascript
$("#grid").jqGrid('navGrid','#pager',{edit:false,add:false,del:false});
$("#grid").jqGrid('navButtonAdd','#pager',{
caption:"Next",
buttonicon:"ui-icon-arrowthick-1-e",
onClickButton:function(){
var currentPage = $("#grid").getGridParam('page');
var pageSize = $("#grid").getGridParam('rowNum');
$("#grid").setGridParam({postData:getGridData(currentPage+1, pageSize)}).trigger("reloadGrid");
},
position:"last"
});
```
在上面的代码中,当用户点击“Next”按钮时,会重新设置`postData`属性为`getGridData(currentPage+1, pageSize)`,即下一页的分页参数,然后重新加载表格数据。
通过上面的步骤,就可以实现jquery.jqGrid的分页参数封装。
阅读全文