jqgrid addrowdata问题

时间:2011-04-21 07:09:48

标签: jquery jqgrid

我在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 ,其中包含两个按钮(删除,保存)。

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

1 个答案:

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