В общем, использование userData
довольно просто.jqGrid поддерживает отправку с сервера любых дополнительных данных, которые будут сохранены вместе с данными jqGrid .Таким образом, если jqGrid анализирует данные, возвращенные с сервера, он просто ищет userdata
(, а не для userData
!!!) и сохраняет во внутреннем параметре userData
.
{ "total":25,
"page":1
"records":107,
"userdata": {"foo": "bar"},
"rows": [...] }
Будьте осторожны: свойство по умолчанию во входных данных должно быть userdata
и NOT userData
, как у вас сейчас.Вы можете перезаписать имя по умолчанию для входного свойства jsonReader: {userdata: "userData"}
или jsonReader: {userdata: "myData"}
, если вы используете userData
или myData
в качестве имени свойства со своими дополнительными данными .
Один изстандартное использование userData
для отображения нижнего колонтитула в jqGrid.Вы можете использовать данные для любых других ваших предложений.В другом ответе показано, как использовать userData
для выбора ряда строк / строк непосредственно после загрузки данных с сервера.
Если вы используете параметр loadonce:true
, использованиеиз userData
будет немного сложнее, потому что после первой загрузки данные из параметра userData
будут удалены, поэтому вам нужно сохранить их во внешнем объекте.
Конечно, вы можете получить доступ кuserData
относительно jQuery("#grid").getGridParam('userData')
только после загрузки данных.Таким образом, вы должны сделать это внутри loadComplete дескриптор события или позже.Кстати, внутри дескриптора события loadComplete вы можете получить доступ к всем данным, которые отправляются вам с сервера через параметр data
события loadComplete .Таким образом, вы можете прочитать любые другие дополнительные данные и сохранить их где-нибудь.