jqGrid不显示来自服务器的数据

时间:2013-04-26 02:04:41

标签: jquery jqgrid

我正在尝试在jqGrid上显示来自服务器的数据。它可以很好地获取数据但不显示任何内容。

这是我的代码:

HTML

<link href="css/jqGrid.css" rel="stylesheet" media="screen"/>
<script src="js/jquery.min.js"></script>
<script src="js/jquery.jqGrid.min.js"></script>

<table id="mapGrid"></table>
<div id="mapGridPager"></div>

的js

function initGrid() {

    var gridOption = {
        caption: 'Locations',
        url: 'report/search?',
        height: '500', 
        width: '500', 
        colNames:['Event ID', 'DateTime','Latitude', 'Longitude', 'Address'], 
        colModel:[ {name:'eventId', index:'eventId', align:'center',    width:40, fronzen:true}, 
                   {name:'timestamp',index:'timestamp', align:'center', width:100, fronzen:true},   
                   {name:'latitude',index:'latitude', width:100},
                   {name:'longitude',index:'longitude', width:100},
                   {name:'address',index:'address', width:200}
                   ], 
        emptyrecords: 'Nothing to display',
        rowNum:30, 
        mtype: "GET", 
        rownumbers: true, 
        gridview: true, 
        page : 1,
        pager: '#mapGridPager', 
        sortname: 'eventId', 
        viewrecords: true, 
        sortorder: "asc", 
        shrinkToFit: false,
        beforeRequest: function(){
            return false;
        }
    };

    $('#mapGrid').jqGrid(gridOption)
                 .navGrid(gridOption.pager,    {edit:false,add:false,del:false,refresh:false,search:false});

}

JSON数据

{
    "total":1,
    "page":1,
    "records":22,
    "rows":[
        {
            "eventId":1,
            "accountId":"demo",
            "deviceId":"demo",
            "timestamp":"16-01-1970 02:20:25",
            "statusCode":61714,
            "latitude":38.4465157985687,
            "longitude":-121.857991218567,
            "altitude":19.0,
            "address":"Dixon, CA"
        },
       //21 more
    ]
}

每条记录的事件ID都是唯一的。

如何解决此问题?

2 个答案:

答案 0 :(得分:0)

添加datatype: 'json',作为jqGrid设置的一部分。

我也假设这个Javascript在某个时候被调用了。

答案 1 :(得分:0)

Jqgrid的默认数据类型是XML,您必须明确提及数据的数据类型。添加以下选项,它应显示网格。

数据类型:&#34; json&#34;。

Jqgrid使用Jquery UI css作为主题,因此添加Jquery-Ui.css和主题以获得更好的外观。