0

可能重复:
无法在 json 格式中从 php 向 jqGrid 添加数据

我正在尝试使用从 asp.net 中的控制器操作返回的数据加载 jgqgrid。我正在使用带有剃刀视图引擎的 MVC 3。我可以在提琴手和萤火虫中看到,从 jqGrid 发出的 ajax 请求正在返回数据,但数据没有在 jqgrid 中显示。我已经查看了所有相关的 psots 和答案。我确保在 jqgrid 脚本文件之前指定了语言环境文件。我已经尝试了 GET 和 POST 并在控制器中相应地更改了 action 属性。

<script type="text/javascript">
$(document).ready(function () {
    $("#list").jqGrid({
        datatype: 'json',
        url: '/Execution/GetAllExecutions/',
        jsonReader: { repeatitems: true },
        mtype: 'POST',
        rowList: [5, 10, 20, 30],
        viewrecords: true,
        colNames: ['OrderID'],
        colModel: [
            { name: 'OrderID', index: 'OrderID', align: 'right',key:true, width: 250}
        ],
        pager: '#pager',
        sortname: 'OrderID',
        sortorder: 'desc',
        height: "100%",
        width: "100%",                                   
        caption: 'Orders'
    });
});
</script>

<table id="list"><tr><td></td></tr></table>

<div id="pager"></div>
4

1 回答 1

1

jsonReader: { repeatitems: true }从服务器返回的 JSON 响应的格式与您使用的不对应。你应该使用类似下面的东西

jsonReader: {
    repeatitems: false,
    root: function (obj) { return obj; },
    page: function () { return 1; },
    total: function () { return 1; },
    records: function (obj) { return obj.length; }
}

此外,建议您添加loadonce: true选项,因为您似乎没有在服务器端实现分页。

于 2012-10-29T12:55:46.370 回答