Я сделал следующий код для связывания jqGrid
:jqGrid не картирование JSon строки
function fnAddDetails() {
debugger;
var content = {};
content.name = $("#txtName").val();
//content.dob = $("#txtDOB").val();
content.group = $("#ddlGroup option:selected").text();
content.active = "InActive";
content.age = age;
if ($("#chkActive").attr("checked")) {
content.active = "Active";
}
var jsonText = JSON.stringify(content);
debugger;
$.ajax({
type: "POST",
url: "Test_sspl142_jQuery_JavaScript.aspx/GetDate",
contentType: "application/json; charset=utf-8",
dataType: "json",
data: jsonText,
success: function(data) {
debugger;
var dataget = $.parseJSON(data.d);
var trialData = { "data": [{ "name": "Pratik", "group": "gold", "active": "ACTIVE", "age": "25"}] };
//var trialData = { "name": "Pratik", "group": "gold", "active": "ACTIVE", "age": "25" };
if (dataget != "error") {
$("#tblData").jqGrid({
datatype: 'local',
data: trialData,
colNames: ['Name', 'Group', 'Active', 'Age'],
colModel: [
{ name: 'name', index: 1, width: 70 },
{ name: 'group', index: 2, width: 90 },
{ name: 'active', index: 3, width: 100 },
{ name: 'age', index: 4, width: 80, align: "right" }
],
rowNum: 10,
rowList: [10, 20, 30, 40],
viewrecords: true,
width: 500,
height: 200,
defaults: {
emptyrecords: "No records to view",
loadtext: "Loading..."
}
});
}
else {
alert("Error While Assigning to jQGrid!");
}
},
error: function(ex) {
alert("Error Occured while saving data in grid..." + ex);
//return false;
}
});
//return false;
}
jqGrid
что отображается, но данные не получают связываются с этим.
Уверен, что проблема связана с данными json
.
Я получаю данные из pagemethod
, которые должны быть переданы в jqGrid
через dataget
переменной.
Я хочу отобразить эти данные в jqGrid
.
Нельзя использовать отдельный '$ .ajax' вручную. jqGrid может сделать это за вас. Тем не менее, если результирующие входные данные для сетки выглядят как 'var trialData = {" data ": [...]};' тогда вы должны использовать 'data: trialData.data' вместо' data: trialData'. Это ваша главная проблема. Кстати, тот факт, что вам нужно использовать 'dataget = $ .parseJSON (data.d)', косвенно указывает на то, что ваш код сервера имеет ошибку: вы производите ** ненужное ** ручное преобразование объекта в строку JSON. Если у вас есть веб-сервис ASMX, вы должны просто вернуть ** объект ** без какого-либо ручного преобразования в JSON. ASP.NET делает все для вас. – Oleg