如何使用angular-kendo设置kendo网格页面大小

时间:2013-10-10 22:12:43

标签: javascript angularjs kendo-ui kendo-grid

我正在尝试使用angular-kendo创建一个网格小部件,允许用户选择页面大小,但也有默认的页面大小。

http://docs.kendoui.com/api/web/grid#configuration-pageable.pageSizes的文档中,我需要将pageable选项与pageSize和pageSizes一起使用。

我的理解是,在angular-kendo中,我可以使用kendo选项作为角度指令,方法是在选项名称前加上“k-”并从驼峰情况转换。我创建了以下代码,它正确设置了页面大小选项,但没有按预期将默认页面大小设置为10.

<div kendo-grid k-data-source="routes" k-pageable="{ 'pageSize': 10, 'refresh': false, 'pageSizes': [5,10,20,50] }"
    k-columns="[{ 'field': 'code', 'title': 'Code'},
                { 'field': 'name', 'title': 'Name'},
                { 'field': 'type', 'title': 'Type'},
                { 'field': 'active', 'title': 'Active'}]"
    k-sortable="true", k-groupable="true", k-filterable="true">
</div>

angular-kendo是否支持所有可分页选项?如果是这样,我做错了什么?

2 个答案:

答案 0 :(得分:0)

angular-kendo github上的这个已关闭的问题说你需要在dataSource上定义pageSize

https://github.com/kendo-labs/angular-kendo/issues/41

例如,向数据添加pageSize属性可解决问题:

$scope.routes = {data: [{"id":1,"code":"ROUTE1","name":"Route1","active":true},...<more data>], pageSize: 10};

这就像将视图逻辑混合到数据中一样。还有更好的方法吗?

答案 1 :(得分:0)

有两种方法可以在angular-kendo网格上设置pageSize

  1. 使用pageSize属性在k-data-source上设置它,如第一个答案中所述
  2. $ scope.KDataSource.pageSize($ scope.pageSize);