我正在尝试使用可编辑单元格实现jqGrid:
var myGrid = $("#mygrid").jqGrid({
datatype: 'local',
data: mydata,
colModel: [
{ name: 'Serial', width: 1040, editable: true, edittype: 'text' }
],
rowNum: 10,
rowList: [10, 20, 30],
pager: '#mypager',
sortname: 'Serial',
cellEdit: true,
viewrecords: true,
sortorder: "desc",
onSelectRow: function(id){
if(id && id!==lastSel){
jQuery('#mygrid').restoreRow(lastSel);
lastSel=id;
}
jQuery('#mygrid').editRow(id, true);
}
});
myGrid.jqGrid('navGrid', '#mypager', { edit: true, add: false, del: false, search: true });
但是,每当我尝试编辑一个单元格时,它都允许我在其上书写,但只要我点击其他行或甚至在网格外部,文本就会消失。
另一件事,每次我点击“输入”它都会尝试提交一些内容,因为它会显示以下消息: “没有设置网址。”
当然,我只想在本地使用这个网格。编辑网格后,用户必须单击.html中包含的“提交”按钮,然后我将管理网格上插入的数据。
THX。
答案 0 :(得分:8)
为了能够在本地使用cell editing(您使用cellEdit:true
),您必须使用cellsubmit:'clientArray'属性。
另一方面,您还使用editRow功能,因此您想使用Inline Editing。为了能够在本地使用Inline Editing,您应该定义editurl:'clientArray'
(请参阅documentation here)。
然后您还使用myGrid.jqGrid('navGrid', '#mypager', { edit: true, ...})
启用Form Editing,而Inline Editing没有完整的本地编辑支持。
我建议您只使用cell editing并将editurl:'clientArray'
包含在jqGrid的选项中。应删除Form Editing(cellEdit: true
)和{{3}}。