如何刷新具有cellFilter的ui-grid单元格,以便在一个单元格中显示绑定实体的多个字段

How to refresh ui-grid cell which has a cellFilter to display multiple fields of the bound entity in one cell

本文关键字:单元格 一个 绑定 字段 实体 显示 刷新 何刷新 cellFilter ui-grid      更新时间:2023-09-26

我使用单元格过滤器在一个单元格中显示绑定实体的多个属性。因此,没有一个字段名,因为它是一个计算字段。如果涉及的属性之一发生更改,如何强制网格重新评估单元格筛选器?

列定义:

columnDefs: [
  { field: 'xxx', displayName: 'Something', cellFilter: 'concatSomeProps:this' }
]

过滤器:

myApp.filter('concatSomeProps', function () {
  return function (cellValue, scope) {
    var entity = scope.row.entity;
    return entity.prop1 + ", " + entity.prop2;
  };
});

如果尝试使用notifydatachchanged或网格api的刷新功能,但它不工作

在这种情况下,我可能会使用cellTemplate,而不是过滤器:

{ field: 'xxx', displayName: 'Something', cellTemplate:'template.html' }

<script type="text/ng-template" id="template.html">
   <div>
       {{row.entity.name + row.entity.age}}
   </div>
</script>

看看我为你做的这个Plnkr,看看我在说什么。编辑前两个字段中的任何一个,您将看到concat字段的更改。您还可以将模板更改为使用row.entity.prop1 + row.entity.prop2以使其工作,因为我的模板用于我的列。