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

use*_*671 4 angularjs angular-ui-grid

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

{
name: 'To',
field: 'myData',
cellFilter: 'formatCaller'
}
Run Code Online (Sandbox Code Playgroud)

谢谢.

c0b*_*bra 8

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

cellFilter: 'formatCaller:this`
Run Code Online (Sandbox Code Playgroud)

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

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

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