повторная инициализация jqgrid - PullRequest
1 голос
/ 11 июля 2011

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

Вторая сетка должна содержать некоторые данные, связанные споле, содержащееся в первой строке выбранной сетки.Итак, код, который у меня есть, на самом деле выглядит следующим образом:

function showDialog(customerID, wsBaseUrl, sl) {
    var title = "";
    var dlg = $("#pclist");
    //Set the title with the value returned
    dlg.dialog("option", "title", title);
    createGrid(customerID, wsBaseUrl, sl);
    //Open the dialog
    dlg.dialog('open');
}

function createPCGrid(customerID, wsBaseUrl) {
    var pc_grid = $('#pcgrid');
    pc_grid.jqGrid({
        url: wsBaseUrl + 'GetOrderList',
        colNames: ['OrderID', 'Order Date', 'Qty', 'Unit', 'Line total'],
        colModel: [
            //omitted for brevity
        ],
        jsonReader: {
            id: "OrderID"
        },
        serializeGridData: function (postData) {
            if (postData.filters === undefined) postData.filters = null;
            if (postData.customerID === undefined) postData.customerID = customerID;
            return JSON.stringify(postData);
        },
        pager: $('#pcgrid_pager'),
        sortname: 'OrderID',
        sortorder: "asc",
        height: '280',
        rownumbers: true,
        gridview: true
    });
}

Как вы можете видеть, я заново создаю каждый раз, когда щелчок делается, объект сетки и привязка его параметра customerID в спискепараметров, которые будут отправлены на сервер сеткой в ​​ее serializeGridData функциональном событии.

К сожалению, это не работает, и первоначальный параметр никогда не изменяется.

Возможно, я невсе равно делать это правильно.Есть ли способ повторно инициализировать сетку или передать параметры в сетку для сериализации в последующих запросах, как в моем примере?

Спасибо за помощь

1 Ответ

4 голосов
/ 11 июля 2011

Полагаю, что диалог будет скрыт и не будет уничтожен после его закрытия.Таким образом, вы можете включить вызов $ ("# pcgrid"). JqGrid ('GridUnload') перед присвоением pc_grid = $('#pcgrid').

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