Я использую службу asmx для возврата данных для отображения в jqGrid. Я вижу, что данные json возвращаются в полный обратный вызов. Это то, что данные json в полном обратном вызове выглядят как {"d":[{"__type":"HHSC.CTF.Business.BatchReceiptModel","BReceiptId"....
. Я не уверен, почему ему предшествует d:
, а также имя типа данных. Это моя установка jqGrid выглядетьjqGrid продолжает показывать «Загрузка»
$("#list").jqGrid({
url: "../../WebServices/BatchReceiptsWebService.asmx/BatchReceiptsTable",
datatype: "json",
mtype: 'POST',
ajaxGridOptions: { contentType: 'application/json; charset=utf-8',
success: function (data, status) {
},
complete: function (xhr) {
},
error: function (jqXHR, textStatus, errorThrown) {
}
},
serializeGridData: function (postData) {
return JSON.stringify(postData);
},
jsonReader: {
repeatitems: false,
id: "BReceiptId",
page: function (obj) { return 1; },
total: function (obj) { return 1; },
root: function (obj) { return obj; },
records: function (obj) {
return obj.d.length;
}
},
colNames: ['BReceiptId', 'ReceiptNumber', 'ReceiptAmount'],
colModel: [
{ name: 'BReceiptId', index: 'BReceiptIdnId', width: 100 },
{ name: 'ReceiptNumber', index: 'ReceiptNumber', width: 150 },
{ name: 'ReceiptAmount', index: 'ReceiptAmount', align: 'right', width: 100 }
],
rowNum: 10,
loadonce: true,
gridview: true,
rownumbers: true,
rowList: [10, 20, 30],
viewrecords: true
});
Большое спасибо Олегу и kmk. Сетка отображает данные сейчас. передавать параметры в службу из сетки. У меня были проблемы с этим, но я собираюсь попробовать когда-нибудь, прежде чем обращаться за помощью :) –
@GomtiMehta: приветствую! jqGrid отправляет на сервер параметры по умолчанию. необходимо отправить дополнительные данные, вы можете использовать параметр 'postData', определенный как объект. Я рекомендую вам определить свойства параметра postData' как функции. См. [ответ] (http://stackoverflow.com/a/2928819/315935) для подробности. – Oleg
Большое спасибо, Олег, это именно то, что я сделал, и это работает как шарм :). –