Wijmo 5 [Flex Sheet]
Auto size row in flex sheet
HTML
<link rel="stylesheet" href="http://cdn.wijmo.com/5.20171.300/styles/wijmo.min.css">
<script src="http://cdn.wijmo.com/5.20171.300/controls/wijmo.min.js"></script>
<script src="http://cdn.wijmo.com/5.20171.300/controls/wijmo.input.min.js"></script>
<script src="http://cdn.wijmo.com/5.20171.300/controls/wijmo.grid.min.js"></script>
<script src="http://cdn.wijmo.com/5.20171.300/controls/wijmo.grid.filter.min.js"></script>
<script src="http://cdn.wijmo.com/5.20171.300/controls/wijmo.grid.sheet.min.js"></script>
<script src="http://cdn.wijmo.com/5.20171.300/interop/angular/wijmo.angular.min.js"></script>
<div ng-app="app" ng-controller="appCtrl">
<wj-flex-sheet control="flex" selected-sheet-index="0" initialized="init(s,e)" style="height:400px;">
<wj-sheet name="Country" items-source="data"></wj-sheet>
</wj-flex-sheet>
</div>
JavaScript
function getData(value) {
var countries = 'I like wijmo 5 features like Flexsheet and other wijmo stuffs,Germany,UK,Japan,Italy,Greece'.split(','),
data = [];
for (var i = 0; i < value; i++) {
data.push({
id: i,
country: countries[i%countries.length],
sales: Math.random() * 1000,
expenses: Math.random() * 10000,
downloads: Math.random() * 100
});
}
return data;
}
var app = angular.module('app', ['wj']);
app.controller('appCtrl', function ($scope) {
$scope.data = new wijmo.collections.CollectionView(getData(49));
$scope.init = function (s, args) {
console.log(s);
s.columns[1].width = 200;
s.columns[1].wordWrap = true;
// s.autoSizeRow(1); for resize particular row
s.autoSizeRows(1, s.rows.length-1, false, 5);
// Flag Variable if cell is edited using Del key
var isNull={range:null,isEmpty:false};
s.cellEditEnded.addHandler(function(s,e){
// if edited cell value is null
if(s.getCellData(e.row,e.col)==null){
isNull={range:e,isEmpty:true}
}
});
// call onRowEditEnded method if flag is true
s.selectionChanging.addHandler(function(s,e){
if(isNull.range&&isNull.isEmpty){
if(isNull.range.row!=e.row){
/* s.onRowEditEnding(isNull.range); */
s.onRowEditEnded(isNull.range);
isNull={range:null,isEmpty:false};
}
}
});
s.rowEditEnded.addHandler(function(s,e){
console.log("Row Edit Ended"); ...