Значение параметра JqGrid не изменяется - PullRequest
0 голосов
/ 25 февраля 2011

У меня есть список выбора, в котором я передаю идентификатор функции jqGrid, и я хочу загрузить различные наборы данных в соответствии с идентификатором, выбранным пользователем.Поэтому я передаю значение как в событии изменения списка выбора.

RelaodGrid($(this).val());

Затем у меня есть функция RelaodGrid, подобная этой.

function RelaodGrid(Id) {
       jQuery("#list").jqGrid({
            url: '/Home/GridData',
            datatype: 'json',
            mtype: 'POST',
            postData:{Id:Id},
            colNames: ['Id', 'Value1', 'Value2'],
            colModel: [
          { name: 'Id', index: 'Id', width: 50, align: 'left' },
          { name: 'Value1', index: 'Value1', width: 100, align: 'left' },
          { name: 'Value2', index: 'Value2', width: 100, align: 'left'}],
            pager: jQuery('#pager'),
            viewrecords: true,
            caption: 'Summary'
        }).trigger("reloadGrid");


    };

Это перезагружает сетку, но возвращает то же значение.В первый раз он принимает правильное значение Id, но после этого для каждой перезагрузки он принимает первое выбранное значение id, хотя выбранный список правильно возвращает значение.

Как решить эту проблему? Где я ошибся ??Спасибо.

1 Ответ

1 голос
/ 25 февраля 2011

Прежде всего вы должны инициализировать jqGrid только один раз. Один делает это с помощью звонка jQuery("#list").jqGrid({...});.

К вашей главной проблеме. Это можно решить очень легко. Больше информации об этом подходе вы можете найти в старом ответе . Что вам нужно сделать, это просто определить id свойство параметра postData как функцию:

postData:{Id:function() { return $("#mySelect").val(); }

вместо postData:{Id:Id}. Теперь сетка будет вызывать функцию и загружать текущее значение выбранного элемента при каждой перезагрузке сетки. что вам просто нужно будет разместить

jQuery("#list").trigger("reloadGrid",[{page:1}])

внутри 'change' обработчика события выбора.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...