Kendo UI Grid DataSource Transport只读取一次

时间:2016-01-11 19:36:55

标签: javascript angularjs kendo-ui kendo-ui-grid

我正在尝试使用Kendo UI的Grid与远程数据虚拟化连接到包含100K到10M记录的数据源。我知道我的大多数配置都正常工作,因为datasource.transport.read()在初始页面加载时触发我的自定义函数,并且返回的数据正确呈现。但是,当最初的100行滚动到底部时,datasource.transport.read()不会再次触发以加载下一页数据。我已在Chrome开发工具网络标签中对此进行了验证。

我在AngularJS模板中定义了一个Kendo UI Grid,就像这样...

...
<div id="myGrid"
    kendo-grid="myGrid"
    k-options="myGrid.gridOptions"
    k-columns="myGrid.columns">
</div>
...

gridOptions定义如下......

_this.gridOptions = {
        dataSource: new kendo.data.DataSource({
            serverPaging: true,
            serverSorting: true,
            pageSize: 100,
            schema: {
                data: "data",
                total: "total"
            },
            transport: {
                read: gridReadHandler  // call a REST service and return data
            }
        }),
        height: 600,
        scrollable: {
            virtual: true
        },
        selectable: false,
        sortable: true,
        resizable: true
    };

服务以这种格式将数据返回给用户界面......

{ 
    "total": 100000,
    "data": [{...},{...}]
}

GridReadHandler只是创建一个POST请求,并通过AngularJS的$ http提供程序触发请求。正如我上面提到的,第一个请求返回数据并正确显示它,但是当我滚动到底部时,我希望Kendo能够触发另一个数据读取请求。任何人都可以看到我可能会失踪的东西吗?

提前致谢。

0 个答案:

没有答案
相关问题