如何更改ui-grid中显示的内容?

时间:2016-07-26 10:44:13

标签: angularjs angular-ui-grid ui-grid

我在angulrjs项目中使用uigrid:

以下是要显示的内容:

   $scope.arr = [{id:'124',name:'Max',  IsMale:'true'}, 
                  {id:'589',name:'Anna', IsMale:'false'}, 
                  {id:'45',name:'Donna', IsMale:'false'},
                  {id:'567',name:'Mark', IsMale:'true'}];

这是UI-GRID防御:

    $scope.gridOptions = {
        enableColumnMenus: false,
        enableSorting: true,
        enableFiltering: false,
        enableToopTip: true,
        enableHorizontalScrollbar: 0,
        onRegisterApi: function (gridApi) {
            gridApi = gridApi
        }
    }

  $scope.gridOptions.columnDefs = [
    { name: 'Name ', field: 'name', cellTooltip: true, headerTooltip: true },
    { name: 'Id ', field: 'id', cellTooltip: true, headerTooltip: true },
    { name: 'IsMail ', field: 'IsMale', cellTooltip: true, headerTooltip: true }];

     $scope.gridOptions.data = $scope.arr;

这是模板:

 <div id="grid1" ui-grid="gridOptions" class="grid"></div>

以下是plunker

我想更改ui-grid中IsMal字段的显示内容,其中字段显示“true”我需要显示“Yes”,哪里为false我需要显示“No”。

任何想法如何更改ui-grid字段中显示的内容?

1 个答案:

答案 0 :(得分:1)

我更改了你的$ scope.arr,所以你的isMale实际上是一个布尔类型。

 $scope.arr = [{id:'124',name:'Max',  IsMale:true}, 
              {id:'589',name:'Anna', IsMale:false}, 
              {id:'45',name:'Donna', IsMale:false},
              {id:'567',name:'Mark', IsMale:true}];

然后我在你的gridOptions中添加了一个cellTemplate。

$scope.gridOptions.columnDefs = [
    { name: 'IsMail ', field: 'IsMail', cellTooltip: true, headerTooltip: true, cellTemplate: '<div><p ng-if="COL_FIELD">YES</p><p ng-if="!COL_FIELD">NO</p></div>' }];