javascriptangularjsangular-ui-gridng-grid

Set cell value based on a condition


I have a column binded to a field called state, which has the values: S or L. I want to map this to following:

S => Short, L => Long

This is how the binding is defined:

$scope.gridOptions = {
      enableSorting: true,
      enableFiltering: true,
      enableHorizontalScrollbar: 0,
      columnDefs: [
        {name: 'action', field: 'state', width: 110, enableFiltering: false}
]
    };

I am already using cellclass and celltemplating, but either one is used for class application or event binding respectively. How do I set cell value based on an ng-if?


Solution

  • If it helps anyone, I ended up doing this:

    let stateTemplate = "<div>{{row.entity.state == 'L' ? 'Buy' : 'Sell'}}</div>"
    
    $scope.gridOptions = {
          enableSorting: true,
          enableFiltering: true,
          enableHorizontalScrollbar: 0,
          columnDefs: [
            {name: 'action', field: 'state', cellTemplate: stateTemplate, enableFiltering: false}
    ],
    data: someData
        };