2016-02-23 5 views
0

Пожалуйста, смотрите мой JS код нижеJqgrid не показывает данные

$(function() { 
    $("#grid").jqGrid({ 
     url: "/Home/GetRoles", 
     dataType: 'json', 
     mtype: 'Get', 
     colNames: ['ID', 'Role Name', 'Active'], 
     colModel: [ 
      { key: true, hidden: true, name: 'RoleId', index: 'RoleId' }, 
      { key: true, name: 'RoleName', index: 'RoleName' }, 
      { key: true, name: 'Active', index: 'Active' } 
     ], 
     pager: jQuery('#pager'), 
     rowNum: 10, 
     rowList: [10, 20, 30, 40], 
     height: '100%', 
     viewrecords: true, 
     caption: 'Roles', 
     emptyrecords: 'No records to display', 
     jsonReader: { 
      root: "rows", 
      page: "page", 
      total: "total", 
      records: "records", 
      repeatitems: false, 
      id: "0" 
     }, 
     autowidth: true, 
     multiselect: false 
    }); 
}); 

и выход Получить Запросить

{"total":2,"page":1,"records":13,"rows":[{"RoleId":1,"RoleName":"Role1","Active":true},{"RoleId":2,"RoleName" 
:"Role 2","Active":false},{"RoleId":13,"RoleName":"Role 3","Active":false},{"RoleId":3,"RoleName":"Role 
4","Active":false},{"RoleId":4,"RoleName":"Role 5","Active":false},{"RoleId":5,"RoleName":"Role 6","Active" 
:false},{"RoleId":6,"RoleName":"Role 7","Active":false},{"RoleId":7,"RoleName":"Role 8","Active":false 
},{"RoleId":8,"RoleName":"Role 9","Active":false},{"RoleId":9,"RoleName":"Role 10","Active":false}]} 

но сетка всегда пустой

+0

'dataType: 'json'' должен быть' datatype:' json'', свойство 'key: true' может быть помещено только в колонку ** one **. Вы должны удалить его из столбцов «RoleName» и «Active». Данные JSON содержат строку в середине строки «Роль 4». Имеют ли данные JSON действительно новую линейную привязку на месте? Это тоже будет ошибка. Какую версию jqGrid вы используете и из которой используется fork ([free jqGrid] (https://github.com/free-jqgrid/jqGrid), [Guriddo jqGrid JS] (http://guriddo.net/?page_id=103334) или старый jqGrid в версии <= 4.7) – Oleg

+0

да, вы правы, он работает сейчас. –

+0

ОК, я отправил ту же информацию, что и ответ. По [«accepting»] (http://meta.stackexchange.com/a/5235/147495) ответ вы получите свои первые очки репутации. – Oleg

ответ

0

Вы должны исправить dataType: 'json' к datatype: 'json', то свойство key: true можно разместить только в одной колонке. Вы должны удалить его из столбцов RoleName и Active. Ваши данные JSON содержат строку в середине строки «Role 4".Если данные JSON действительно являются новым символом линии на месте? Это также была ошибка.

Кроме того, вы всегда должны записывать информацию о версии jqGrid (free jqGrid, Guriddo jqGrid JS или старый jqGrid в версии < = 4.7). Проблема, существующая в одной версии, не может существовать в другой. Кроме того, у разных версий и вилок есть разные варианты, и поэтому предлагаю вам некоторое обходное решение нужно знать версию и вилку, которые вы используете. Я разработал бесплатный jqGrid fork и могу порекомендовать вам последнюю версию (4.13.0) jqGrid из fork.

Смежные вопросы