如何在排序或单击列时刷新 kendo 网格数据?
How to refresh kendo grid data when i sort or click on column?
当用户单击子类别名称列时,我在下方有一个网格我正在右侧填充另一个网格,该网格是 selected 行的数据,我想在用户单击时向子类别名称列添加功能我想要将右侧网格数据刷新为默认值。 (在用户 select 一行之前,右侧不应显示任何数据)。
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'
}
]
},
Kendo 网格没有排序事件,但数据源包含 change
数据更改和排序时触发的事件:
http://docs.telerik.com/kendo-ui/api/javascript/data/datasource#events-change
尝试在此事件处理程序中更新数据
不要忘记检查 e.action 以防止循环
当用户单击子类别名称列时,我在下方有一个网格我正在右侧填充另一个网格,该网格是 selected 行的数据,我想在用户单击时向子类别名称列添加功能我想要将右侧网格数据刷新为默认值。 (在用户 select 一行之前,右侧不应显示任何数据)。
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'
}
]
},
Kendo 网格没有排序事件,但数据源包含 change
数据更改和排序时触发的事件:
http://docs.telerik.com/kendo-ui/api/javascript/data/datasource#events-change
尝试在此事件处理程序中更新数据
不要忘记检查 e.action 以防止循环