一般来说,使用userData
非常简单。jqGrid 支持从服务器发送将与 jqGrid 数据一起保存的任何附加数据。因此,如果 jqGrid 解析从服务器返回的数据,那么它只会查找userdata
(而不是userData
!!!)并且保存在内部参数userData
中。
{ "total":25,
"page":1
"records":107,
"userdata": {"foo": "bar"},
"rows": [...] }
请注意:输入数据中的默认属性必须是userdata
而不是 userData
像您当前拥有的那样。您可以覆盖输入属性的默认名称,jsonReader: {userdata: "userData"}
或者jsonReader: {userdata: "myData"}
如果您使用userData
或myData
作为附加数据的属性名称。
标准用法之一userData
是在 jqGrid中显示页脚。您可以将这些数据用于您的任何其他建议。在另一个答案中,它显示了如何在userData
从服务器加载数据后直接选择一些行/行。
如果你使用loadonce:true
参数,使用userData
会有点棘手,因为在第一次加载后,参数中的数据userData
将被删除,所以你必须保存在外部对象中。
当然,您userData
只能jQuery("#grid").getGridParam('userData')
在加载数据后才能访问。因此,您应该在loadComplete事件句柄内或之后执行此操作。通过loadComplete事件句柄内部的方式,您可以访问通过loadComplete事件的参数从服务器发送给您的所有数据。因此,您可以读取任何其他附加数据并将其保存在某处。data