Javascript 为angular ui网格中的所有自定义过滤器提供单个控制器
我正在为我的ui网格(角度ui网格)中的5列使用自定义过滤器,链接如下所示: 要创建自定义过滤器,将创建一个自定义模式,并为其指定一个控制器 此控制器用于创建过滤器值和filter.term,稍后将在主网格过滤器中使用 我需要知道我们是否可以为我的ui网格中的所有5列使用单一模式、控制器Javascript 为angular ui网格中的所有自定义过滤器提供单个控制器,javascript,angularjs,angular-ui-grid,Javascript,Angularjs,Angular Ui Grid,我正在为我的ui网格(角度ui网格)中的5列使用自定义过滤器,链接如下所示: 要创建自定义过滤器,将创建一个自定义模式,并为其指定一个控制器 此控制器用于创建过滤器值和filter.term,稍后将在主网格过滤器中使用 我需要知道我们是否可以为我的ui网格中的所有5列使用单一模式、控制器 如果有人已经使用过它,请共享。在每个列上通过自定义筛选模板调用的方法传递列名来解决它。然后根据列的类型创建过滤器选项网格 myapp2.controller('BenefitsFilterCtrl', fun
如果有人已经使用过它,请共享。在每个列上通过自定义筛选模板调用的方法传递列名来解决它。然后根据列的类型创建过滤器选项网格
myapp2.controller('BenefitsFilterCtrl', function( $scope, $compile, $timeout ) {
var $elm;
$scope.showBenefitsFilter = function(type) {
$scope.listOfAges = [];
if(type==='projectId'){
$scope.col.grid.appScope.gridOptions.data.forEach( function (row) {
if ( $scope.listOfAges.indexOf( row.projectID ) === -1 ) {
$scope.listOfAges.push( row.projectID );
}
});
}else if(type==='parameterHeading'){
$scope.col.grid.appScope.gridOptions.data.forEach( function (row) {
if ( $scope.listOfAges.indexOf( row.benefit ) === -1 ) {
$scope.listOfAges.push( row.benefit );
}
});
}else if(type==='valueParameter'){
$scope.col.grid.appScope.gridOptions.data.forEach( function (row) {
if ( $scope.listOfAges.indexOf( row.benefitSubcategory ) === -1 ) {
$scope.listOfAges.push( row.benefitSubcategory );
}
});
}else if(type==='benefitType'){
$scope.col.grid.appScope.gridOptions.data.forEach( function (row) {
if ( $scope.listOfAges.indexOf( row.benefitType ) === -1 ) {
$scope.listOfAges.push( row.benefitType );
}
});
}else if(type==='MatureLevel'){
$scope.col.grid.appScope.gridOptions.data.forEach( function (row) {
if ( $scope.listOfAges.indexOf( row.assessmentMaturityLevel ) === -1 ) {
$scope.listOfAges.push( row.assessmentMaturityLevel );
}
});
}else if(type==='portfolio'){
$scope.col.grid.appScope.gridOptions.data.forEach( function (row) {
if ( $scope.listOfAges.indexOf( row.oxd ) === -1 ) {
$scope.listOfAges.push( row.oxd );
}
});
}else if(type==='program'){
$scope.col.grid.appScope.gridOptions.data.forEach( function (row) {
if ( $scope.listOfAges.indexOf( row.program ) === -1 ) {
$scope.listOfAges.push( row.program );
}
});
}
$scope.listOfAges.sort();
此处,listOfAges是可从模式中的网格中选择的选项列表
如果有人遇到类似的请求,准备创建一个plunker并共享。由于此代码段没有那么多描述这是否与您正在尝试执行的操作一致?我不完全清楚你的问题(注:我不是同一个布赖恩)。谢谢您的评论,但不,这不是我要找的。如果您检查ui网格自定义筛选器实现,我们有一个控制器,可以从中获取筛选器值,然后根据用户选择创建筛选器项。我想使用相同的控制器为所有列创建自定义过滤器。