jqgrid addrow editrow = false

时间:2012-06-22 09:56:16

标签: jqgrid

这是我的代码,通过按Enter键为网格添加一行。 所有行都处于添加模式editrow = true。

    jQuery("#energy").jqGrid('addRow', { position: "first" });
            jQuery("#energy").jqGrid('bindKeys', {
            "onEnter": function (rowid) {
                jQuery("#energy").jqGrid('addRow');
                    }
           });

在添加行时,您需要指定prametr editrow = false吗?

1 个答案:

答案 0 :(得分:1)

不幸的是,似乎code for addRow始终将新行设置为编辑模式:

addRow : function ( p ) {
        ...
        if(p.useFormatter) {
            $("#"+$.jgrid.jqID(p.rowID)+
                              " .ui-inline-edit", 
                              "#"+$.jgrid.jqID($t.p.id)).click();
        } else {
            var opers = $t.p.prmNames,
            oper = opers.oper;
            p.addRowParams.extraparam[oper] = opers.addoper;
            $($t).jqGrid('editRow', p.rowID, p.addRowParams);
            $($t).jqGrid('setSelection', p.rowID);
        }

但好消息是,您应该能够使用saveRow来排除编辑模式。只需确保为新行传递唯一的行ID,以便在下次调用时能够引用它:

 jQuery("#energy").jqGrid('addRow', {rowID: myNewRowID});
 jQuery("#energy").jqGrid('saveRow', myNewRowID);

如果您遇到saveRow问题,也可以尝试restoreRow

这有帮助吗?