jq Grid内联删除

时间:2017-02-08 17:00:17

标签: jquery jqgrid

我正在尝试在jqGrid中编辑,插入和删除内联,并成功执行插入和编辑但不是删除。我读到了有关使用'clientArray'的信息,它就像我提到的编辑一样,但不是删除。当调用删除功能时,弹出删除消息,但是当点击删除时,我收到消息:“没有设置网址”。

我做错了什么?这些是单击相应按钮时调用的函数。

function _deleteLine(rowId) {
    var id = rowId;
    if (_.isNumber(id) === false) {
        id = rowId.id;
    }

    self.$grid.delGridRow(id, false, 'clientArray');
}

function _editLine(rowId) {
    var id = rowId;
    if (_.isNumber(id) === false) {
        id = rowId.id;
    }
    self.$grid.jqGrid("editRow", id, true);
    _toggleActionButtons(true, id);
}

function _saveLine(rowId) {
    var defer = $.Deferred();

    var id = rowId;
    if (_.isNumber(id) === false) {
        id = rowId.id;
    }
    self.$grid.saveRow(id, false, 'clientArray');
    toggleActionButtons(false, id);
    return defer.promise();
}

更新

将删除功能更改为以下后我能够删除该项目,但是,模态不会关闭。我看着这个,然后跟着它,但无法解决:

function _deleteLine(rowId){
options.processing = true;
            var grid_id = $.jgrid.jqID(this.p.id);
            self.$grid.jqGrid("delRowData", rowid);
            $.jgrid.hideModal("#delhd" + grid_id, {
                gb: "#gbox_" + grid_id,
                jqm: true
            });
}

1 个答案:

答案 0 :(得分:1)

jqGrid 4.6已经3岁了。这是最后一个版本,它不支持delGridRow本地数据。很多年前我发布了the workaround,它描述了如何使用表单编辑方法删除本地网格的行。后来我发布了another answer,其中显示了如何使用其他表单编辑方法来编辑本地行。

一般情况下,我建议更新到free jqGrid的最新版本(4.13.6),jqGrid的分支,我从2014年底开始开发。免费的jqGrid与jqGrid 4.6兼容,但很多新功能允许简化jqGrid的使用。例如,您可以使用formatter: "actions"inlineNav并直接致电editRow。编辑开始/结束后,所有按钮(内联操作按钮和导航菜单按钮)将自动隐藏/可见或启用/禁用。无需额外调用以显示/隐藏按钮。例如,尝试the demo