这是我的网格:
colModel: [
{ name: "userGroupID", index: "userGroupID", width: 50, hidden:true, align: "left" },
//{ name: "userId", index: "userId", width: 75, align: "left",title:false,search:false, sorttype:'text'},
{ name: "userInfoID", index: "userInfoID", width: 75, align: "left",hidden:true,title:false,search:true, sorttype:'text'},
{ name: "userID", index: "userID", width: 75, align: "left",title:false,search:true, sorttype:'text'},
{ name: "firstName", index: "firstName", width: 75, align: "left",title:false,search:false, sorttype:'text'},
{ name: "organizationName", index: "organizationName", width: 75, align: "left",title:false,search:false, sorttype:'text'},
{ name: 'action', index: 'action', width: 70, align: "left",sortable: false, search:false}
],
我从服务器获取数据以填充网格并尝试将我自己的数据添加到网格中。 我用了
var grid = jQuery("#jqTable");
var data = [{"userGroupID":"2","userInfoID":"2","userID":"userID","firstName":"firstName","organizationName":"organizationName"}];
//jQuery("#jqTableList").addRowData("userGroupID",data);
grid.jqGrid('addRowData','1',data);
//jQuery("#jqTableList").trigger("reloadGrid");
这是说:TypeError: t.p is undefined
u = t.p.rownumbers === true ? 1 : 0;
请帮帮我..
答案 0 :(得分:1)
您以错误的方式使用addRowData
方法。如果要使用它来添加多行,则应更改addRowData
方法的第一个参数。
您可以在jqGrid的the documentation中阅读以下内容:
此方法可以一次插入多行。在这种情况下的数据 参数应该是数组定义为
的部分[{name1:value1,name2: value2…}, {name1:value1,name2: value2…} ]
,第一个选项rowid
应该是。{ 包含数据对象的名称,该名称应作为行的id。 在这种情况下,rowid
的名称不一定是必须的 来自colMode
因此,如果例如userGroupID
包含可以解释为每行ID的唯一值,则可以使用以下格式的addRowData
grid.jqGrid('addRowData', 'userGroupID', data);
在您当前,您发布名称为'1'
的列的代码将被解释为id
。顺便说一下,为网格指定id
值非常重要。如果列userGroupID
(或网格的其他一些列)确实可以用作id,则应在列中添加key: true
属性。该属性只能用于一列。
一般情况下,如果在创建网格时已知数据,我建议不要使用addRowData
填充网格(有关详细信息,请参阅the answer)。如果您使用datetype: "local"
网格,则使用data: yourArrayWithData
会更有效。如果您需要替换网格的data
,可以使用
grid.jqGrid("getGridParam").data = myNewData;
请参阅the answer