【问题标题】:ui-grid dynamic cellFilterui-grid 动态单元格过滤器
【发布时间】:2017-03-13 22:14:49
【问题描述】:

使用 ui-grid 我想要一个带有动态单元格过滤器的列,以便可以更新它,例如从“数字”到“货币”。我尝试从列中更改参数 cellFilter ,但它没有反映在网格中。我也尝试将 cellFilter 引用到像 cellFilter: col.colDef.filter 这样的变量,但得到错误

Error: [$parse:syntax] Syntax Error: Token '.' is an unexpected token at column 33 of the expression [grid.getCellValue(row, col) |col.colDef.filterFormat] starting at [.colDef.filterFormat].

plunkr:http://plnkr.co/edit/KhR4kbLAT61vAm6AlSCr?p=preview 有什么建议吗?

【问题讨论】:

  • 显示您的代码以查看您在哪里遇到该错误
  • 嗨 @Gonzalo.- 刚刚添加了 plunkr 链接,谢谢
  • 还需要什么或者我的回答给了你足够的帮助吗?
  • 我还能做些什么来获得下面的“有用”或“接受”响应?

标签: angularjs angular-ui-grid ui-grid


【解决方案1】:

这应该会为你做,一个利用angular.copy()的小调整:

var app = angular.module('app', ['ui.grid']);
app.controller('MainCtrl', ['$scope', '$http', function($scope, $http) {
  $scope.gridOptions1 = {
    enableFiltering: true,
    columnDefs: [{
      field: 'age',
      cellFilter: 'currency'
    }]
  };

  $scope.gridOptions = angular.copy($scope.gridOptions1);
  $http.get('//cdn.rawgit.com/angular-ui/ui-grid.info/gh-pages/data/500_complex.json')
    .success(function(data) {
      $scope.gridOptions.data = data;
    });

  $scope.updateFilter = function() {
    $scope.gridOptions1.columnDefs[0].cellFilter = 'number';
    $scope.gridOptions = angular.copy($scope.gridOptions1);
  };
}]);

这是一个正在工作的 Plunker,http://plnkr.co/edit/p3pBKvFH3pJcpps02sN9?p=preview

如果您还需要什么,请告诉我。很乐意为您提供进一步帮助。

【讨论】:

  • 你明白了。使用 AngularJS 的荣耀!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-03-31
  • 1970-01-01
  • 2023-04-06
  • 1970-01-01
  • 2015-09-21
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多