2016-08-20 10 views
0

セルフィルタを使用して、1つのセルにバインドされたエンティティの複数のプロパティを表示します。したがって、計算フィールドなので、フィールド名は1つもありません。関係するプロパティの1つが変更された場合、セルフィルタを再評価するようにグリッドに強制するにはどうすればよいですか?cellFilterを持つUIグリッドセルをリフレッシュして、1つのセルに複数のフィールドを表示する方法

列定義:

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

フィルタ:

notifyDataChangedまたはグリッドAPIのリフレッシュ機能を使用しようとしましたが、それは動作しない場合
myApp.filter('concatSomeProps', function() { 
    return function (cellValue, scope) { 
    var entity = scope.row.entity; 
    return entity.prop1 + ", " + entity.prop2; 
    }; 
}); 

答えて

0

私はおそらくこのケースで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> 

See this Plnkr I made for you to see what I'm talking about

。最初の2つのフィールドのいずれかを編集すると、連結フィールドの変更が表示されます。私のテンプレートは私の列のため、 row.entity.prop1 + row.entity.prop2を使用するようにテンプレートを変更することもできます。

関連する問題