我在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 ,其中包含两个按钮(删除,保存)。
任何想法为什么会发生这种情况?
答案 0 :(得分:2)
尝试而不是那个
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”)
希望这将有助于我没有更多的想法
编辑:
好吧我现在出了什么问题
来自jqgrid wiki:
你应该也可以像这样使用[]:...此方法可以插入多个 一次排。在这种情况下的数据 参数应该是数组定义的 [{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);