javascript - 第 1 页,共 0 页,即使 jqgrid 包含数据
问题描述
我正在使用 addRowData 将数据附加到 ajax 调用中的网格。它正确显示数据,但在分页时显示第 1 页 0f 0 这是不正确的。
我在 jqgrid 表属性中添加了 rowNum:10 。
$.ajax({
url: 'getData',
dataType: 'json',
success: function (data) {
$('#grid').jqGrid('clearGridData');
for (var i = 0; i <= data.length; i++){
$("#grid").jqGrid('addRowData', i + 1, data[i]);
}
$('#grid').setGridParam({rowNum:$('#grid').getGridParam('rowNum')});
}
});
Jqgrid 表是 -
$("#grid").jqGrid(
{
width : 'auto',
height : 'auto',
colNames : [ 'First Name', 'Last Name'],
colModel : [ {
name : "firstName",
index : "firstName",
key:true,
width : 120,
search : true,
stype : "text"
}, {
name : "lastName",
index : "lastName",
width : 120,
search : true,
stype : "text"
},
multiselect : false,
iconSet: "fontAwesome",
datatype : "local",
loadonce : true,
rowNum : 10,
rowList : [ 10, 20, 30, 100000000 ],
loadtext : '',
loadui : 'disable',
toppager:true,
pager : '#prowed2',
viewrecords : true,
loadComplete : function() {
$("option[value=100000000]").text('All');
},
gridComplete : function() {
}
});
我希望显示数据并且分页应该显示第 1 页,共 1 页
解决方案
首先,您永远不应该填写addRowData
循环来填充网格。jqGrid,它datatype: "local"
支持data
创建网格并用数据填充它的参数。秒,如果您想在一页上显示所有数据(在大量行的情况下这是个坏主意),那么您可以使用rowNum
足够大的值,例如 1000,这将被解释为最大行数,这将显示在页面上。
要替换现有网格中的完整数据,您可以替换data
并触发reloadGrid
事件。要替换我建议使用的数据,getGridParam
而不是使用setGridParam
。不带参数的方法getGridParam
返回对所有内部网格参数的引用。因此,要替换data
参数,您需要更改data
内部网格参数对象的属性:
$.ajax({
url: 'getData',
dataType: 'json',
success: function (data) {
var $grid = $("#grid"),
p = $grid.jqGrid("getGridParam"); // get reference to all parameters
p.data = data; // replace data parameter
$grid.trigger("reloadGrid", { page: 1 }); // display new data in the grid
}
});
推荐阅读
- arduino - Arduino 当按住按钮时,会显示一个连续的字母
- r - 连接循环和字符串输入以在 R 中形成列名
- node.js - 处理 SQS 事件的函数的预期响应是什么?
- json - 使用一个可解码结构使用 Swift 解析多个 JSON 文件
- javascript - 设置从模板元素创建的节点的属性
- flutter - 用于等待异步函数完成的 Dart 函数
- c# - 如何在不添加用户的情况下远程连接到 SQL Server?
- php - Laravel Cashier Cancel 返回对成员函数 cancel on null 的调用
- swift - 如何快速将 UILabel 中的一个单词大写?
- reactjs - 你可以无限期地保留一个 Redux 存储并继续添加/更新它吗?