我们正在使用UI GRID来显示数据,我们在一列中使用celltemplate来过滤ID到员工的数据,并且我们为每一列启用了过滤器。
sampledata:{ID:1 ,salary:3000,Gender:male}
$scope.gridOptions = {
enableFiltering: true,
data:sampledata,
columnDefs: [{Name:Employeetype, Field:ID,
cellTemplate: '<div class="ngCellText"> {{row.entity.ID | ID2EMp}}</div>'}
{Name: salary, field:salary}
{Name:Gender field:Gender}]
}
my filter is something like below:
app.filter('ID2EMp', function() {
return function(text) {
if (text=='1') {
return 'Employee';
}
if (text=='2')
return 'Contractor';
}
});
所以现在如果尝试使用UI GRID文本过滤器过滤网格,如果我输入“雇员”/“承包商”它将无法工作但如果我输入'1'/'2'它将起作用..任何人都可以建议怎么能我在这种情况下使过滤器工作,我应该能够使用EMployee关键字进行过滤。
此外,还有其他任何方式我可以操作数据显示单元格作为员工如果ID = 1使用过滤器但不使用celltemplate.i已尝试使用cellfilter但它似乎无法正常工作
答案 0 :(得分:0)
你可以用两种方式做到这一点。两者都有cellTemplate。首先像往常一样使用过滤器,{{field |过滤}}或在ng-if语句中使用正确的条件。
编辑:
首先cellTemplate: '<div>{{row.entity.field | filter }} </div>'
其中field是变量中的字段,您传递给ui-grid作为数据,过滤器只是过滤器。
第二个:cellTemplate: '<div ng-if="some_condition">{{row.entity.filed}}</div>
其中字段与第一个字段相同。 some_condition是行显示的条件语句。