Проблема не в в том, что вы делаете , а в , когда и , где вы используете 'getGridParam', 'data'.Вы можете использовать данные после , когда данные сначала загружаются с сервера.Вы можете использовать его, например, внутри loadComplete
или внутри beforeProcessing
обратного вызова.Я бы порекомендовал вам дополнительно прочитать старый ответ , в котором описаны различия между loadComplete
и gridComplete
.В большинстве случаев gridComplete
не является хорошим выбором.
Более того, loadComplete
будет называться не только после первой загрузки с сервера.Позже он будет вызываться при каждой локальной сортировке, поиске и фильтрации / поиске.Если после загрузки данных с сервера необходимо выполнить какие-то действия один раз, тогда обратный вызов beforeProcessing
хорош.Он содержит полные данные , возвращенные с сервера до , данные будут обработаны jqGrid.Например, можно изменить или расширить данные внутри beforeProcessing
callback, и jqGrid увидит измененные данные, как если бы они были возвращены с сервера.
Еще один вариант - поместить некоторый код в loadComplete
внутри if ($(this).jqGrid("getGridParam", "datatype") !== "local") { ... }
.Это позволяет выполнить некоторые действия после обработки данных, загруженных с сервера, и отображения первой страницы.