jqgrid formatter 获取当前列名
时间: 2024-09-27 14:13:11 浏览: 34
在jQuery UI的jqGrid中,Formatter功能允许你自定义单元格的内容,包括列名。如果你想要获取当前列的名称,通常不需要直接通过Formatter来获取,因为这些信息存储在`colModel`对象中。
获取列名的方法如下[^1]:
```javascript
var columns = $("#your_grid_id").jqGrid('getColNames'); // "your_grid_id" 是你的网格ID
console.log(columns); // 输出列名数组
```
这会返回一个数组,其中包含了你所配置的列的标题(即列名)。
然而,如果你想在Formatter回调中访问到当前列的名字,可以传递额外的参数,比如这样:
```javascript
formatter: function(cellvalue, options, rowObject) {
var columnName = options.colModel.name; // 这里获取当前列的name属性
// 在这里使用columnName变量
}
```
在这个回调函数中,`options.colModel.name`会给你提供当前列的名称。
相关问题
jqgrid formatter处理异步
在 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...'`。这是因为在异步数据加载完成之前,我们需要给单元格一个占位符,避免单元格显示为空。
jqgrid formatter button事件
的实现方式是什么?
对于jqgrid的formatter button事件的实现方式,通常有两种方法:
1)使用自定义formatter函数,然后绑定button的点击事件,例如:
```
function myFormatter(cellvalue, options, rowObject) {
return "<button onclick='myFunction(" + options.rowId + ")'>点击</button>";
}
function myFunction(rowId) {
//处理按钮点击事件
}
```
2)使用jqgrid自带的formatter:"actions",该formatter会生成一个包含多个按钮的单元格,例如:
```
formatter: "actions",
formatoptions: {
keys: true,
editbutton: true,
delbutton: true,
editformbutton: false,
aftersavefunc: function (rowid, response) {
alert(response.responseText);
}
}
```
需要注意的是,使用jqgrid自带的formatter:"actions"时,需要在colModel中指定哪些按钮可见,以及按钮点击后的处理方式。
阅读全文