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); 

一切正常。 现在,当我再次按下插入时,我得到一个只有一个单元格的空行,甚至不可编辑。 我新插入的行应该有两个字段lastnamedeletefield包含两个按钮(删除,保存)。

任何想法为什么会发生这种情况?

尝试而不是那样

 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);