1

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

如果我修改 jqGrid 文档中的示例,我想将此 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。

4

2 回答 2

1

userdatajqGrid 的 JSON 输入的一部分应该是object。如果您需要在内部返回标量,userdata则应使用类似

"userdata": { mycounter: 0 }

然后使用

var userdata = $("#grid_id").jqGrid("getGridParam", "userData");
if (userdata) {
    alert(userdata.mycounter);
}
于 2013-01-31T11:42:37.803 回答
0

好的,经过一番探索,问题似乎出在值 0 上。其他值(我尝试 1)恢复正常,但是当它为 0 时,我得到 {}。

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

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

但是行为是完全一样的: {} 当值是 0 时, 1 当它是 1 时。

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

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

于 2013-01-31T11:43:20.027 回答