如何在jqgrid中读取userData?

roy*_*yco 6 jquery json jqgrid user-data

我需要传递userDatajqgrid,但找不到任何如何执行此操作的示例.这是我的尝试:

从服务器发送:

{ total: 25,
  page: currentpage,
  userData: {foo: 'bar'},
  rows: myRows }
Run Code Online (Sandbox Code Playgroud)

在jqgrid中:

var data = jQuery("#grid").getGridParam('userData');
Run Code Online (Sandbox Code Playgroud)

如何userData从jqgrid 发送和读取它?

编辑:我知道我userData被送了,因为我可以在Fiddler看到它.我想我只是坚持如何在客户端阅读它.

Ole*_*leg 16

一般来说,使用userData非常简单.jqGrid支持从服务器发送任何其他数据,这些数据将与jqGrid数据一起保存.所以,如果jqGrid的解析从服务器返回的数据,然后它只是看起来对userdata(userData!),并保存在内部参数userData.

{ "total":25,
  "page":1
  "records":107,
  "userdata": {"foo": "bar"},
  "rows": [...] }
Run Code Online (Sandbox Code Playgroud)

请注意:在输入数据的默认属性必须userdata userData喜欢你目前有.您可以覆盖输入属性的默认名称,jsonReader: {userdata: "userData"}或者jsonReader: {userdata: "myData"}如果您使用userDatamyData作为属性名称使用其他数据.

标准用法之一userData是用于在jqGrid中显示页脚.您可以将数据用于您的其他建议.在另一个答案中,它显示了如何使用userData从服务器加载数据后直接选择一些行/行.

如果使用loadonce:true参数,则使用起来userData会有点棘手,因为在第一次加载后,参数中的数据userData将被删除,因此您必须将其保存在外部对象中.

原因你可以访问userData对于的jQuery("#grid").getGridParam('userData')数据加载之后.所以你应该在loadComplete事件句柄或更高版本中执行此操作.顺便提一句,在loadComplete事件句柄内部,您可以通过loadComplete事件的参数访问从服务器发送给您的所有数据.因此,您可以阅读任何其他附加数据并保存在某处.data