jqGrid userData与数字类型而不是对象

时间:2013-01-31 11:17:30

标签: javascript jquery jqgrid

只想在这里确认一下。是否可以直接使用jqGrid的userData和javascript类型(而不是使用带字段的对象)?

如果我修改了jqGrid文档中的example,我想将这个json返回给jqGrid:

{ 
  total: "xxx", 
  page: "yyy", 
  records: "zzz", 
  userdata: 0, 
  rows : [ 
    {id:"1", cell:["cell11", "cell12", "cell13"]}, 
    {id:"2", cell:["cell21", "cell22", "cell23"]}, 
    ... 
  ] 
}

并让jQuery("grid_id").jqGrid('getGridParam', 'userData')返回0

目前似乎返回一个空对象{ }

我使用jqGrid 4.4.1。

2 个答案:

答案 0 :(得分:1)

jqGrid的JSON输入的

userdata部分应为 object 。如果你需要返回userdata内的标量,你应该使用像

这样的东西
"userdata": { mycounter: 0 }

然后使用

var userdata = $("#grid_id").jqGrid("getGridParam", "userData");
if (userdata) {
    alert(userdata.mycounter);
}

答案 1 :(得分:0)

好的,经过一番探索,似乎问题是值为0.其他值(我试过1)回来很好,但是当它为0时,我得到{}。

我还尝试更改阅读器以使用函数而不是字段名称:

jsonReader: {
  ...
  userdata: function(json) { return json.response.userdata; },
  ...
}

但行为完全相同:{}当值为0时,1为1时。

我也更新到4.4.4,但它没有改变它。

我不知道这是否有资格作为错误或未记录的限制,但我会返回一个带有数字字段而不是数值本身的对象,它将解决问题。