我正在使用jqgrid但在添加和编辑时遇到问题。我的jqgrid代码看起来像这样..
function setupGrid(){
jQuery("#dataTable").jqGrid({
url: "person/get",
datatype: "json",
loadonce : false,
jsonReader: {root : "rows", repeatitems: false, id: "id"},
colNames:['ID','First Name','Last Name', 'Address', 'Postcode'],
colModel:[
{name:'id',index:'id', width:20, sortType:"int"},
{name:'firstName',index:'firstName', width:100, editable:true},
{name:'lastName',index:'lastName', width:100, editable:true},
{name:'address',index:'address', width:380, align:"right", editable:true},
{name:'postcode',index:'postcode', width:100, align:"right", editable:true,editoptions:{size:25}
}
],
rowNum:4,
rowList:[5,10,20,30],
height:200,
pager: "#pagingDiv",
viewrecords: true,
sortname: 'id',
sortorder: "desc",
caption: "Names and Addresses",
rownumbers : true,
ondblClickRow: function(rowid) {
grid.jqGrid('editGridRow',rowid, editParam);
return;
}
}).navGrid('#pager',
{add : true, edit : true, del: true, search:true,
multipleSearch : true
},
{
recreateform : true,
width : 800,
url: 'person/test',
top: 350,
left:400,
editCaption:"Edit Employee",
viewPagerButtons :false,
closeOnEscape:true,
model : true,
closeAfterEdit : true,
topinfo : 'Top Info Test Edit',
bottominfo : "Footer Info",
checkOnSubmit : true,
},
{
recreateform : true,
width:300,
url:'person/test2',
top: 350,
left:400,
addCaption : "Add Employee",
closeOnEscape:true,
drag : true,
model : true,
topinfo : 'Top Info Test',
closeAfterAdd : true,
},
{
url : 'person/delete',
mtype:"POST",
deleteCaption : "Delete Employee"
},
{
recreatefilter : true
});
jQuery("#dataTable").jqGrid('filterToolbar',{stringResult: true,searchOnEnter : true});
}
我的问题是我启动应用程序并单击jqgrid添加按钮然后选择添加属性。之后,如果我点击编辑,但它也会选择添加按钮属性。
再次,如果我再次启动应用程序,这次如果我选择了编辑按钮(假设我已经在网格中没有点击添加按钮的数据)这次编辑表单填充编辑属性。现在点击添加按钮,它现在选择编辑表单属性。我无法理解发生了什么。
最初我没有使用recreatefilter:true。但是在时间它还没有奏效。后来我使用了recreatefilter:true。但结果是一样的。
任何人都可以告诉我,我必须做些什么才能解决这个问题。
提前感谢。
答案 0 :(得分:1)
删除recreateform : true,
并将其替换为
beforeInitData: function () {
$("#editmod" + this.id).remove();
}
感谢Oleg发布此答案。