【问题标题】:Does ng-grid supports cell filter (angular filter) by rowng-grid 是否支持按行进行单元格过滤器(角度过滤器)
【发布时间】:2014-08-21 22:09:04
【问题描述】:

ng-girdcolDefs(列定义)允许您为每一列定义一个过滤器(角度过滤器)。

在我的用例中,我需要每行使用过滤器。这意味着,某些行中的数据将具有数字格式,而其他行可能具有百分比。

ng-grid 是否支持按行过滤?请注意,这不是过滤行,而是对行的单元格应用相同的显示格式。

【问题讨论】:

    标签: javascript angularjs angular-ui ng-grid


    【解决方案1】:

    这现在(截至 2014 年)在当前的 ngGrid 中可以原生实现:

    columnDefs: [
      {
        field: 'name',
        cellFilter: 'lowercase'
      }
    ]
    

    甚至使用过滤器参数:

    columnDefs: [
      {
        field: 'name',
        cellFilter: 'currency:"GPB"'
      }
    ]
    

    【讨论】:

      【解决方案2】:

      您可以使用 cellTemplate 和过滤器来做到这一点。

      带有自定义cellTemplate的gridOptions:

          var statusTpl = '<div  style="padding-top: 10px;padding-left: 5px" ng-bind="row.getProperty(col.field) | percentage:200"></div>';
          $scope.gridOptions = {
          data: 'myData',
          columnDefs: [{
            field: 'name'
          }, {
            field: 'status',
            cellTemplate: statusTpl
          }]
          };
      

      还有一个非常简单的过滤器(在本例中,它从 100%=200 计算底限百分比):

          app.filter('percentage', function() {
            return function(input, max) {
              if (isNaN(input)) {
                return input;
              }
              return Math.floor((input * 100) / max) + '%';
            };
          });
      

      您可以在自定义cellTemplate的过滤器的第二个参数中设置100%的值。

      如果您需要更精确的可调整小数,只需环顾四周,您一定会找到一些。

      哇!差点忘了Plunker to this

      【讨论】:

        猜你喜欢
        • 2023-04-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-12-24
        • 1970-01-01
        • 2017-02-16
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多