jqGrid的jsonReader和loadComplete
时间: 2023-03-03 15:43:01 浏览: 189
jqGrid 4.6和4.7版本
jqGrid 是一个基于 jQuery 的表格插件,`jsonReader` 和 `loadComplete` 都是 jqGrid 的参数,用于解析和处理返回的 JSON 数据。
`jsonReader` 用于指定 jqGrid 如何解析返回的 JSON 数据。其语法如下:
```javascript
jsonReader: {
root: "rows",
page: "page",
total: "total",
records: "records",
repeatitems: false,
id: "id"
}
```
`root` 表示 JSON 数据中存放表格行数据的数组的名称,`page` 表示当前页数,`total` 表示总页数,`records` 表示总记录数,`repeatitems` 表示是否允许重复的名称出现在 JSON 数据中,`id` 表示唯一标识行数据的名称。
`loadComplete` 用于在表格数据加载完成后执行自定义的回调函数。其语法如下:
```javascript
loadComplete: function(data) {
// 自定义回调函数
}
```
在回调函数中,可以对返回的数据进行处理,比如根据数据中的某些字段值来修改表格行的样式或者内容等。
例如,以下代码示例将表格中 `age` 字段大于 30 的行的字体颜色设置为红色:
```javascript
loadComplete: function(data) {
var grid = $("#myGrid");
var rows = grid.jqGrid("getRowData");
for (var i = 0; i < rows.length; i++) {
var row = rows[i];
if (parseInt(row.age) > 30) {
grid.jqGrid("setRowData", row.id, null, {color: "red"});
}
}
}
```
在 `loadComplete` 回调函数中,首先使用 `getRowData` 方法获取表格中所有行的数据,然后遍历所有行数据,如果 `age` 字段的值大于 30,就使用 `setRowData` 方法修改该行的样式。
阅读全文