flexgrid coumn data type overwritten when first row data is null

by Manish Gupta

HTML

<script src="http://cdn.wijmo.com/5.20161.154/controls/wijmo.min.js"></script>
<link rel="stylesheet" href="http://cdn.wijmo.com/5.20161.154/styles/wijmo.min.css">
<script src="http://cdn.wijmo.com/5.20161.154/controls/wijmo.grid.min.js"></script>
<script src="http://cdn.wijmo.com/5.20161.154/interop/angular/wijmo.angular.min.js"></script>
<div ng-app="MyApp" ng-controller="myCtrl">
  <wj-flex-grid items-source="data" cell-edit-ended="cellEditEnded(s,e)" cell-edit-ending="cellEditEnding(s,e)">
    <wj-flex-grid-column binding="country"></wj-flex-grid-column>
    <wj-flex-grid-column binding="downloads" format="n2">

    </wj-flex-grid-column>
  </wj-flex-grid>
</div>

JavaScript

var app = angular.module("MyApp", ['wj']);
app.controller("myCtrl", function($scope) {
  // generate some random data
  var countries = 'US,Germany,UK,Japan,Italy,Greece'.split(','),
    data = [];

  for (var i = 0; i < countries.length; i++) {
    data.push({
      country: countries[i],
      downloads: i !== 0 ? Math.round(Math.random() * 20000) : null
    });
  }

  $scope.data = data;
  $scope.cellEditEnding = function(s, e) {
    oldValue = s.getCellData(e.row, e.col);

  };
  $scope.cellEditEnded = function(sender, args) {

    var value = sender.getCellData(args.row, args.col);
    if (args.col == 1) {
      if (isNaN(value)) {
       
        sender.setCellData(args.row, args.col, oldValue == null ? 0.00 : oldValue, true);
      } else {
        if (value.indexOf('.') == -1) {
          value = Number(value).toFixed(2);
          sender.setCellData(args.row, args.col, value, true);
        }
      }
    }
  };
});