如何在排序或单击列时刷新kendo网格数据?

时间:2015-03-12 18:57:28

标签: angularjs kendo-ui kendo-grid

当用户点击子类别名称列时,我有一个网格我在右侧填充另一个网格,这是所选行的数据,我想在用户点击我想要刷新右侧网格数据时将功能添加到子类别名称列默认。 (在用户选择一行之前,不应在右侧显示数据)。

angular.module('thirdPartyManagementApp').value('subCategoryGridConfig', {
subCategoryGrid: {
    sortable: true,
    filterable: true,
    selectable: true,
    height: 600,
    toolbar: [
        {
            template: kendo.template('<kendo-tabstrip><ul><li ng-class="{\'k-state-hover k-state-active\': defaultAllTab}"><a  href="" class="k-grid-add border"  ng-click="getAllSubCategories()">All</a></li>')
        },
        {
            template: kendo.template('<li ng-class="{\'k-state-hover k-state-active\': defaultPendingTab}"><a  href="" class="k-grid-add border" ng-click="getPendingSubCategories()">Pending Review</a></li>')
        },
        {
            template: kendo.template('<li ng-class="{\'k-state-hover k-state-active\': defaultReviewTab}"><a  href="" class="k-grid-add border" ng-click="getReviewedSubCategories()">Reviewed</a></li></ul><kendo-tabstrip>')
        }
    ],
    columns: [
        {
            template: '<strong><span ng-if="this.dataItem.sortCode === 1" class="text-success">NEW</span><span ng-if="this.dataItem.sortCode === 2" class="text-danger">!</span></strong>',
            width: '30px'
        },
        {                           
            template: kendo.template('{{this.dataItem.subCategoryName}}<br/><a  href="" class="linkColor hoverFontColor" ng-click="showDetail(this.dataItem)">Vendors...</a>'),
            field: 'subCategoryName',
            title: 'Subcategory',
            width: '100px',
            template: (function(e) {
              subCategoryGrid.columns.filter(function(data) {
                return data.field === "subCategoryName";
              })
              subCategoryGrid.refresh();
            });
        },
        {
            field: 'status',
            title: 'Status',
            width: '65px'
        }
    ]
},

1 个答案:

答案 0 :(得分:2)

Kendo网格没有排序事件,但数据源包含change事件,当数据发生变化并且还会对其进行排序:

http://docs.telerik.com/kendo-ui/api/javascript/data/datasource#events-change

尝试在此事件处理程序中更新数据

不要忘记检查e.action以防止循环