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);
}
}
}
};
});