jqgrid 4.6.0版本中 formatter 处理异步方法
时间: 2024-02-29 14:53:21 浏览: 135
在 jqGrid 4.6.0 版本中,可以使用 `formatter` 的回调函数来处理异步方法。具体步骤如下:
1. 在 `colModel` 中定义需要显示的列,并指定需要使用的 `formatter`。
2. 在 `formatter` 的回调函数中,可以通过 `cellvalue` 参数获取当前单元格的值,并通过 `rowid` 参数获取当前行的 ID。
3. 在回调函数中,可以使用 `setTimeout` 方法来延时执行异步方法,然后在异步方法执行完毕后,通过 `grid.setCell(rowid, colname, value)` 方法来修改单元格的值。
下面是一个示例代码:
```javascript
{
name: 'column_name',
formatter: function(cellvalue, options, rowObject) {
var rowid = options.rowId;
var colname = options.colModel.name;
var value = '';
setTimeout(function() {
// 执行异步方法,并获取异步数据
value = 'your_async_data';
grid.setCell(rowid, colname, value);
}, 1000);
return value;
}
}
```
在上面的代码中,我们使用了 `setTimeout` 方法来延时执行异步方法,并使用 `grid.setCell` 方法来修改单元格的值。需要注意的是,由于异步方法的执行是异步的,因此在 `formatter` 的回调函数中直接返回异步结果是无效的。
阅读全文