如何在angular-ui-grid cellFilter中访问整个行数据

时间:2015-03-19 13:29:06

标签: angularjs angular-ui-grid

我想执行一个cellFilter来以编程方式定义需要在单元格中显示的内容。在定义列定义时,您需要指定单元格对应的字段,但是我需要访问cellFilter中的整行数据,而不仅仅是单个字段。是否可以将多个字段传递给过滤器或整个行?

{
name: 'To',
field: 'myData',
cellFilter: 'formatCaller'
}

谢谢。

1 个答案:

答案 0 :(得分:8)

是的,将this作为参数传递给过滤器会发送当前范围

cellFilter: 'formatCaller:this`

然后在您的过滤器中,您可以像这样访问该行:

app.filter('formatCaller', function () {
  return function (value, scope) {
    return scope.row.entity.whateverField + ' ' + yourFormattingFunction(value);
  };
});

你可以在这里找到更深入的解释(和一个动画演示):http://brianhann.com/6-ways-to-take-control-of-how-your-ui-grid-data-is-displayed/(警告:我是作者)。