jqGrid не отображает данные JSON - PullRequest
3 голосов
/ 13 июля 2011

Я читал некоторые из предыдущих вопросов и ответов об этой проблеме, но не мог понять, почему это не работает для меня.Я вижу сетку, но она пуста, и firebug не дает мне никаких ошибок.

Мои данные JSON находятся в этой форме

{"COLUMNS":["ID","MEMO"],"DATA":[[1,"test"],[2,"test1"],[3,"test2"]]} 

Я проверил эти данные, используя JSON Validator и он передает

мой код инициализации с помощью jsonReader

jQuery("#invoices").jqGrid({
    url:'/bob/index.cfm/invoices/read?format=json',
    datatype: "json",
    colNames:['id','memo'],
    colModel:[
        {name:'id', width:255},
        {name:'memo', width:290}
    ],
    rowNum:10,
    rowList:[10,20,30],
    pager: '#invoicespager',
    sortname: 'id',
    viewrecords: true,
    sortorder: "desc",
    caption:"JSON Example",
    jsonReader: {
        repeatitems: false,
        id: "Id",
        root: function (obj) { return obj; },
        page: function (obj) { return 1; },
        total: function (obj) { return 1; },
        records: function (obj) { return obj.length; }
    }       

});
jQuery("#invoices").jqGrid('navGrid','#invoicespager',{edit:false,add:false,del:false});

1 Ответ

5 голосов
/ 13 июля 2011

Большинство данных JSON можно прочитать с помощью jqGrid.Вы должны просто использовать соответствующий jsonReader .Для чтения ваших данных JSON вы можете использовать

jsonReader: {
    repeatitems: true,
    id: "0",
    cell: "",
    root: "DATA",
    page: function() { return 1; },
    total: function() { return 1; },
    records: function(obj) { return obj.length; }
}

Если вы уменьшите пустое место в вашей сетке с помощью height: 'auto', вы увидите следующее:

enter image description here

(см. демо )

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