0
In this plunk私はshow-filter=true
でngTableを持っています。列の1つ(Group Name)は、別の列(Group)の関数である文字列を示します。問題は、「派生」列であるため、グループ名でフィルタリングできないことです。グループ名でフィルタリングする方法は?関数でngTableをフィルタリングする
HTML:
<table ng-table="tableParams" class="table table-bordered" show-filter="true">
<tbody>
<tr ng-repeat="u in $data">
<td title="'User ID'" filter="{ uid: 'text' }">
{{ u.uid }}
</td>
<td title="'Name'" filter="{ nm: 'text' }">
{{ u.nm }}
</td>
<td title="'Group ID'" filter="{ ugr: 'text' }">
{{ u.ugr }}
</td>
<td title="'Group Name'" filter="{ groupName(u.ugr): 'text' }">
{{ groupName(u.ugr) }}</td>
</tr>
</tbody>
</table>
Javascriptを:
var app = angular.module('app', ['ngTable']);
app.controller('myCtl', function($scope, NgTableParams) {
$scope.data = [{
uid: 'User 1',
nm: 'Name 1',
ugr: 1
}, {
uid: 'User 2',
nm: 'Name 2',
ugr: 2
}, {
uid: 'User 3',
nm: 'Name 3',
ugr: 2
}];
$scope.groupName = function(group){
if (group==1)
return 'AAA';
else
return 'BBB';
};
$scope.tableParams = new NgTableParams({
count: 5
}, {
data: $scope.data
});
});