jqgrid addrowdata问题
我在jqgrid中添加一个新的空行时遇到问题。
我的colmodel是:
colModel: [{ name: 'recid', index: 'testid', hidden: true, editable: true, editrules: { edithidden: true} }, { name: 'JobTask.Id', index: 'JobTask.Id', hidden: true }, { name: 'InvolvedParty.Id', index: 'InvolvedParty.Id', hidden: true, editable: true, editrules: { edithidden: true} }, { name: 'InvolvedParty.Lastname', index: 'InvolvedParty.Lastname', width: 100, align: 'left', editable: true}, { name: 'deletefield', width: 100, sortable: false, title: false, align: 'center', label: ' '}],
我用来插入行的代码是:
var rowid = jQuery.Guid.New(); var newRowData = [{ "recid": rowid, "JobTask.Id": "@(Model.id)", "InvolvedParty.Id": "", "InvolvedParty.Lastname": "", "deletefield": ""}]; $("#grid_id").addRowData(rowid, newRowData);
然后我输入一些数据并保存行
jQuery('#grid_id').saveRow(rowid);
一切正常。 现在,当我再次按下插入时,我得到一个只有一个单元格的空行,甚至不可编辑。 我新插入的行应该有两个字段lastname和deletefield包含两个按钮(删除,保存)。
任何想法为什么会发生这种情况?
尝试而不是那样
var newRowData = [{ "recid": rowid, "JobTask.Id": "@(Model.id)", "InvolvedParty.Id": "", "InvolvedParty.Lastname": "", "deletefield": ""}];
做:
var newRowData = { "recid": rowid, "JobTask.Id": "@(Model.id)", "InvolvedParty.Id": "", "InvolvedParty.Lastname": "", "deletefield": ""};
-
如果这不起作用,请确保添加的行肯定有不同的ID
-
您也可以尝试通过
trigger(“reloadGrid”)
添加新行后重新加载trigger(“reloadGrid”)
希望这将有助于我没有更多的想法
编辑:
好吧,我现在出了什么问题
来自jqgrid wiki:
…此方法可以一次插入多行。 在这种情况下,data参数应该是数组定义为[{name1:value1,name2:value2 …},{name1:value1,name2:value2 …}],第一个选项rowid应该包含数据对象的名称,该名称应该作为行的id。 在这种情况下,rowid的名称不必是colModel的一部分。
你应该也可以像这样使用[]
var newRowData = [{ "recid": rowid, "JobTask.Id": "@(Model.id)", "InvolvedParty.Id": "", "InvolvedParty.Lastname": "", "deletefield": ""}]; $("#grid_id").addRowData("recid", newRowData);