afterSaveCell: function () { $(this).trigger('reloadGrid');},
如果我把它放在我的网格中它运行良好,在单元格编辑后重新加载网格。是否有一种简单或已知的方法只能在特定的单元格上重新加载?
之类的东西//afterSaveCell: function () {
If(the field is budgetyear1){
$(this).trigger('reloadGrid');}
},
答案 0 :(得分:0)
首先,您应始终将trigger('reloadGrid')
的电话置于setTimeout
内。这很重要,因为trigger('reloadGrid')
同步 ,trigger('reloadGrid')
之后的下一行只有在重新加载完成后才能执行。如果你从服务器重新加载数据,那么它并不是那么重要,但是jqGrid的一些内部参数可以被重置(例如page
个数字。)
关于您的主要问题:afterSaveCell
将使用5个参数进行调用:rowid
,columnName
,cellValue
,iRow
,iCol
。它为您提供有关单击的单元格的足够信息,您可以使用getCell
方法获取有关该行的任何其他列的信息。因此,你可能会有以下几点:
afterSaveCell: function (rowid, columnName, cellValue, iRow, iCol) {
var $self = $(this); // cache this to be used later in `setTimeout`
if (/*test some conditions*/) {
setTimeout(function() {
$self.trigger("reloadGrid");
}, 50);
}
}