Я только начал работать с jqGrid на этой неделе. Я пытаюсь создать универсальную функцию, которую я могу вызвать, чтобы загрузить jqGrid с различными параметрами postData, определенными в вызове функции.
Есть ли способ сделать это? Я рассмотрел создание массива для хранения имени / значения параметра, а затем установил его в качестве параметра в postData. После этого веб-служба добавит эти параметры в вызов хранимой процедуры SQL.
Вот общий код:
var paramArray = new Array();
var p1 = new JQGridParam("CustomerName","John");
var p2 = new JQGridParam("ProductName","Kleenex");
var p3 = new JQGridParam("YearPurchased","2012");
paramArray[0] = p1;
paramArray[1] = p2;
paramArray[2] = p3;
$("#list").jqGrid({
datatype: "json",
url: "services/Customers.asmx/GetCustomerData",
mtype: "POST",
postData: {
sqlParams: paramArray //HERE IS WHERE I NEED THE HELP
},
ajaxGridOptions: { contentType: "application/json; charset=utf-8" },
ajaxRowOptions: { contentType: "application/json; charset=utf-8" },
serializeGridData: function (postData) {
return JSON.stringify(postData);
},
serializeRowData: function (postData) {
return JSON.stringify(postData);
},
jsonReader: {
root: function (obj) { return obj.d.rows; },
page: function (obj) { return obj.d.page; },
total: function (obj) { return obj.d.total; },
records: function (obj) { return obj.d.records; },
},
colModel: [
{name: "CustID", index: "CustID" },
{name: "PurchaseAmount", index: "PurchaseAmount" }],
colNames: ["Customer ID", "Amount Purchased"],
pager: $("#pager"),
loadOnce: true,
rowNum: 10,
rowList: [10,25,50],
gridview: true,
viewrecords: true
});
Когда я пытаюсь это сделать, выдается ошибка «невозможно преобразовать объект типа System.String в тип System.Array». У кого-нибудь есть идеи, как это сделать?