Angularjs 如果使用celltemplate映射数据,如何过滤UIGRID中的数据
我们使用UI网格来显示数据,我们在一列中使用celltemplate来过滤ID到employee的数据,我们已经为每一列启用了过滤器Angularjs 如果使用celltemplate映射数据,如何过滤UIGRID中的数据,angularjs,angular-ui-grid,angular-filters,Angularjs,Angular Ui Grid,Angular Filters,我们使用UI网格来显示数据,我们在一列中使用celltemplate来过滤ID到employee的数据,我们已经为每一列启用了过滤器 sampledata:{ID:1 ,salary:3000,Gender:male} $scope.gridOptions = { enableFiltering: true, data:sampledata, columnDefs: [{Name:Employeetype, Field:ID, cell
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';
}
});
sampledata:{ID:1,工资:3000,性别:男性}
$scope.gridOptions={
启用筛选:正确,
数据:样本数据,
columnDefs:[{名称:Employeetype,字段:ID,
cellTemplate:{{row.entity.ID | ID2EMp}}}
{Name:salary,字段:salary}
{Name:Gender字段:Gender}]
}
我的过滤器如下所示:
app.filter('ID2EMp',function(){
返回函数(文本){
如果(文本=='1'){
返回“雇员”;
}
如果(文本=='2')
返回“承包商”;
}
});
所以,如果现在尝试使用UI网格文本过滤器过滤网格,如果我键入“Employee”/“Contractor”,它将不起作用,但如果我键入“1”/“2”,它将起作用。有谁能告诉我,在这种情况下,我应该能够使用Employee关键字进行过滤,如何使过滤器起作用
另外,如果ID=1,是否有其他方法可以使用filter而不是celltemplate操作数据以显示单元格为Employee。我尝试过使用cellfilter,但似乎不起作用您可以通过两种方法来实现。两者都使用cellTemplate。首先像往常一样使用filter,{field | filter}}或在ng if语句中使用right条件 编辑: 第一个
cellTemplate:'{{row.entity.field | filter}}'
其中field是变量中的字段,作为数据传递到ui网格,filter就是filter
第二个:
cellTemplate:“{{row.entity.field}
where字段类似于第一个字段。some_condition是一个行显示的条件语句。Hi,欢迎使用stackoverflow。请详细描述答案。给出一个完整的答案将有助于其他人理解你的答案。