Мне нужно найти способ изменить параметры сетки.Позвольте мне лучше объяснить сценарий.У меня есть два объекта 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
функциональном событии.
К сожалению, это не работает, и первоначальный параметр никогда не изменяется.
Возможно, я невсе равно делать это правильно.Есть ли способ повторно инициализировать сетку или передать параметры в сетку для сериализации в последующих запросах, как в моем примере?
Спасибо за помощь