jqgrid formatter处理异步
时间: 2023-08-23 19:23:02 浏览: 181
在 jqGrid 中,你可以使用自定义 formatter 函数来处理异步数据。通常情况下,如果需要处理异步数据,你可以使用 jQuery 的 `$.ajax` 方法或者 `$.getJSON` 方法来获取数据,并在获取到数据后进行处理。以下是一个使用 `$.getJSON` 方法处理异步数据的示例代码:
```javascript
{
name: 'asyncData',
index: 'asyncData',
width: 100,
formatter: function(cellvalue, options, rowObject) {
var id = rowObject.id;
var url = 'data.json?id=' + id;
// 使用 $.getJSON 方法获取异步数据
$.getJSON(url, function(data) {
// 在获取到数据后,更新单元格的显示
var value = data.asyncData;
$('#grid').jqGrid('setCell', options.rowId, options.colModel.name, value);
});
// 返回一个占位符
return 'loading...';
}
}
```
在上面的代码中,我们定义了一个名为 `asyncData` 的列,并使用 `formatter` 函数来处理异步数据。在 `formatter` 函数中,我们首先获取当前行的 id,然后使用 `$.getJSON` 方法获取异步数据。在获取到数据后,我们使用 `setCell` 方法更新单元格的显示。这样就可以处理异步数据了。
需要注意的是,在获取异步数据时,我们返回了一个占位符 `'loading...'`。这是因为在异步数据加载完成之前,我们需要给单元格一个占位符,避免单元格显示为空。
阅读全文