jqGrid内联编辑添加新行后不工作
问题描述:
我目前正在使用free-jqGrid版本4.14.1(使用cdn超链接)。我想让用户用他们的输入值添加一个新行,如果他们想通过点击该行进行任何更改,请编辑该行。为了添加新行,我创建了一个添加按钮(不使用jqGrid分页器)。jqGrid内联编辑添加新行后不工作
我现在面临两个问题:
1)我refered this demo内联编辑工作。根据这一演示代码,我需要用线
grid.jqGrid('restoreRow', lastSelection);
然而,这条线,每次我加入新行,上一行被删除,并只显示新添加的行。请检查this fiddle。
2)由于1),我评论说,行(我不认为我应该这样做的正常运作),并试图运行。先前添加的行仍然加入新行之后,但显示的所有行是显示文本这样(fiddle):
我想什么都仅是用户点击该行修改后,它变成像文本框guriddo演示。
我还没有找到任何与此问题相关的帖子。有没有人请帮助我?
============================================
地址:
我从一些基本表值开始只是为了验证。基本数据行按照我想要的方式工作(单击要修改的行),但新行不是。这似乎是没有选择的,而不是新的行集中,当我点击,击中后不退出编辑模式回车键..
============== ==============================
================ ============================
的下面是网格的仅供参考的代码:
$(document).ready(function() {
Load_Bin();
$('#Bin-QtyBin').focus();
$('#btnEnter-Bin').click(function() {
var valNumBin = $('#Bin-numBin').val();
//if bins are dropbox: select enabled one
var valQtyBin = $('#Bin-QtyBin').val();
var paramRow = {
rowId: "new_row",
initdata: {
numBin: valNumBin,
QtyPutAway: valQtyBin
},
position: "first" //"last"
}
$("#tbBin").jqGrid('addRow', paramRow);
$('#Bin-numBin').val('');
$('#Bin-QtyBin').val('');
});
});
var lastSelection;
function Load_Bin() {
var tbBinArea = $('#tbBin');
tbBinArea.jqGrid({
datatype: "local",
colModel: [
{ label: 'Bin', name: 'numBin', sorttype: 'text', searchoptions: { clearSearch: true }, width: 310, editable: true },
{ label: 'Put Away Qty.', name: 'QtyPutAway', sorttype: 'number', searchoptions: { clearSearch: true }, width: 310, editable: true }],
rowNum: 10,
rowList: [10, 15, 30, "10000:All"],
prmNames: {
page: 'defaultPageNumber',
rows: 'rowsPerPage'
},
//forceClientSorting: true,
rownumbers: true,
//autowidth: true,
viewrecords: true,
loadonce: true,
multiselect: false,
multiPageSelection: false,
iconSet: "fontAwesome",
pager: true,
height: 250,
onSelectRow: editRow,
searching: {
searchOperators: true,
defaultSearch: 'cn',
closeOnEscape: true,
searchOnEnter: false,
multipleSearch: true
}
});
}
function editRow(id) {
if (id && id !== lastSelection) {
var grid = $("#tbBin");
grid.jqGrid('restoreRow', lastSelection);
grid.jqGrid('editRow', id, { keys: true });
lastSelection = id;
}
};
(第。秒。感谢this fiddle的拥有者,因为我一直在努力地将代码移动到小提琴上,对不起,因为我失去了那个小提琴的原始答案链接......)
答
我结束了刚刚重新加载整个网格添加新行后。它工作正常,除了新添加的行不会转到编辑模式,因为它不检测用户是否点击它,因为它已创建时已被突出显示。
创建新行后,只需添加此代码:
var reloaddata = $('#tbBin').jqGrid("getGridParam", "data");
$('#tbBin')
.jqGrid('setGridParam',
{
datatype: 'local',
data: reloaddata
})
.trigger("reloadGrid");