使用schema.data时,网格显示为空

时间:2013-06-02 15:00:44

标签: grid kendo-ui schema

我有一个问题,我认为这个问题非常微不足道,但几天来一直令我感到沮丧。

<div id="grid"></div> 
<script>
    $(function() {
        $("#grid").kendoGrid({
            dataSource: {
                transport: {
                    read: "http://localhost/public/ajax/user/cultures.json",
                    pageSize: 10,
                    dataType: "jsonp"
                }
            },
            schema: {
                data: "data"
            },
            columns: [
                { field: 'oname' },
                { field: 'oculture_code' }
            ],
            height: 500,
            scrollable: true,
            selectable: true,
            sortable: true
        });
    });
</script>

我从服务器收到的数据中收到的数据样本是:

{
    "total":136,
    "data":
    [
         {"oculture_code":"af-ZA","oname":"Afrikaans - South Africa"},
         {"oculture_code":"ar-AE","oname":"Arabic - United Arab Emirates"},
         {"oculture_code":"ar-BH","oname":"Arabic - Bahrain"},
         ...
    ]
    ...
}

以上不起作用,因为网格最初进行了一些处理,但最终它似乎是emtpy。我试着回答:

[{"oculture_code":"af-ZA","oname":"Afrikaans - South Africa"}, ...]

并且不使用架构,网格中充满了数据。 添加具有后一数据的模式仍然有效。当我修改json响应时出现问题。

我希望使用架构,因为我计划添加服务器端分页。但这阻止了我向前迈进。我做错了什么?

提前致谢!

1 个答案:

答案 0 :(得分:1)

错误是您在schema之外定义dataSource,而DataSource定义是$("#grid").kendoGrid({ dataSource: { transport: { read : "cultures.json", pageSize: 10, dataType: "jsonp" }, schema : { data : "data" } }, columns : [ { field: 'oname' }, { field: 'oculture_code' } ], height : 500, scrollable: true, selectable: true, sortable : true }); 的一部分。它应该是:

{{1}}