jqgrid仅针对特定单元格在单元格上重新加载网格

时间:2015-12-07 15:31:06

标签: jqgrid

afterSaveCell: function () { $(this).trigger('reloadGrid');},

如果我把它放在我的网格中它运行良好,在单元格编辑后重新加载网格。是否有一种简单或已知的方法只能在特定的单元格上重新加载?

之类的东西
//afterSaveCell: function () {
If(the field is budgetyear1){
  $(this).trigger('reloadGrid');}
},

1 个答案:

答案 0 :(得分:0)

首先,您应始终将trigger('reloadGrid')的电话置于setTimeout内。这很重要,因为trigger('reloadGrid')同步 trigger('reloadGrid')之后的下一行只有在重新加载完成后才能执行。如果你从服务器重新加载数据,那么它并不是那么重要,但是jqGrid的一些内部参数可以被重置(例如page个数字。)

关于您的主要问题:afterSaveCell将使用5个参数进行调用:rowidcolumnNamecellValueiRowiCol。它为您提供有关单击的单元格的足够信息,您可以使用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);
    }
}