jqgrid 获取单元格的值
时间: 2024-06-13 10:03:54 浏览: 128
在jqGrid中,可以使用以下方法获取单元格的值:
var grid = $("#jqGrid");
var cellvalue = grid.jqGrid("getCell", rowId, columnName);
其中,rowId表示行的id,columnName表示列的名称。这个方法可以用于获取指定单元格的值。
相关问题
jqgrid其它单元格值为空时,此单元格不可编辑
可以通过设置`beforeEditCell`事件来限制某些单元格只有在其它单元格有值时才能编辑。具体来说,你可以在该事件中获取其它单元格的值,根据其它单元格的值来判断当前单元格是否可编辑。以下是示例代码:
```javascript
beforeEditCell: function (rowid, cellname, value, iRow, iCol) {
var otherVal = $('#grid').jqGrid('getCell', rowid, 'otherCol'); // 获取其它单元格的值
if (otherVal == '') {
return false; // 如果其它单元格的值为空,则当前单元格不可编辑
} else {
return true; // 否则,当前单元格可编辑
}
}
```
上述代码中,`beforeEditCell`事件中获取了`otherCol`列的值,如果`otherCol`列的值为空,则返回`false`,表示当前单元格不可编辑;否则,返回`true`,表示当前单元格可编辑。你可以根据实际需求修改判断条件。
需要注意的是,`beforeEditCell`事件在每次单元格编辑之前都会触发,如果你的需求是某些单元格在其它单元格有值时才能编辑,那么你需要在事件中判断当前单元格是否是你需要限制的单元格,如果不是,则直接返回`true`。如果你需要限制的单元格比较多,可以根据单元格的`name`或`index`属性来判断。
jqgrid获取表数据
您可以使用 jqGrid 的 `getRowData` 方法逐行获取表格数据,然后将其存储在数组中。例如:
```javascript
var rowIds = $("#grid").jqGrid('getDataIDs');
var gridData = [];
$.each(rowIds, function(index, rowId) {
gridData.push($("#grid").jqGrid('getRowData', rowId));
});
```
这将返回一个包含所有行数据的数组,其中每个元素都是一个对象,其属性名为列名,属性值为相应的单元格值。例如,如果您的表格有两列 "name" 和 "age",则每个对象都将具有 "name" 和 "age" 属性。
注意,这种方式只适用于小型表格。对于大型表格,建议使用服务器端分页和排序来获取数据,以提高性能和响应速度。
阅读全文