2

这是我的代码,它通过按回车键在网格中添加一条线。所有行都处于添加模式editrow=true。

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

添加行时需要指定 prametr editrow=false 什么?

4

1 回答 1

1

不幸的是,似乎总是将新行设置为编辑模式的代码: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

这有帮助吗?

于 2012-06-22T13:46:42.410 回答