如何读取jqgrid中的userData?
我需要将userData
传递给jqgrid ,但找不到如何做到这一点的任何示例。 这是我的尝试:
从服务器发送:
{ total: 25, page: currentpage, userData: {foo: 'bar'}, rows: myRows }
并在jqgrid:
var data = jQuery("#grid").getGridParam('userData');
我如何发送userData
并从jqgrid读取?
编辑:我知道我的userData
正在发送,因为我可以看到它在提琴手 。 我想我只是坚持如何在客户端阅读它。
一般来说, userData
的使用非常简单。 jqGrid支持从服务器发送任何额外的数据,这些数据将与jqGrid数据一起保存 。 所以,如果jqGridparsing从服务器返回的数据,那么它只是寻找userdata
( 不适用于userData
!!!),保存在内部参数userData
。
{ "total":25, "page":1 "records":107, "userdata": {"foo": "bar"}, "rows": [...] }
请注意:input数据中的默认属性必须是userdata
而不是您当前拥有的userData
。 如果使用userData
或myData
作为属性名称和附加数据,则可以覆盖input属性jsonReader: {userdata: "userData"}
的默认名称jsonReader: {userdata: "userData"}
或jsonReader: {userdata: "myData"}
。
一个来自userData
的标准用法是用于显示 jqGrid 中的页脚 。 您可以将这些数据用于您的任何其他build议。 在另一个答案是显示如何使用userData
从服务器加载数据后直接select一些行/行。
如果使用loadonce:true
参数,那么userData
的用法会更加棘手,因为在第一次加载之后,参数userData
的数据将被删除,因此您必须将其保存在外部对象中。
因为你只能在加载数据之后才能访问关于jQuery("#grid").getGridParam('userData')
。 所以你应该在loadComplete事件句柄或更高版本中执行此操作。 顺便说一句,在loadComplete事件句柄中,你可以通过loadComplete事件的data
参数访问从服务器发送给你的所有数据。 所以你可以读任何其他的数据并保存在那里。
jqGrid默认接受这种格式的JSON。
{"rows": [{"foo":"bar"}] }
并设置jqgrid选项,你会做这样的事情:
$("#cashflow-sheet").jqGrid({ url:'bbc-json.html', datatype: "json", ...