Wijmo 5 [Flex Grid]
Make a single cell read only on pasted event
HTML
<link rel="stylesheet" href="http://cdn.wijmo.com/5.20162.188/styles/wijmo.min.css">
<script src="http://cdn.wijmo.com/5.20162.188/controls/wijmo.min.js"></script>
<script src="http://cdn.wijmo.com/5.20162.188/controls/wijmo.input.min.js"></script>
<script src="http://cdn.wijmo.com/5.20162.188/controls/wijmo.grid.min.js"></script>
<script src="http://cdn.wijmo.com/5.20162.188/interop/angular/wijmo.angular.min.js"></script>
<div ng-app="app" ng-controller="appCtrl">
<wj-flex-grid items-source="data"
control="flex">
</wj-flex-grid>
<p ng-show="test == null">
This is just some text
</p>
</div>
JavaScript
var dummyData = [];
var phases = "asd,agfs,re,asdqwe,xvcwe,wer".split(',');
var count = 10;
for (var i = 0; i < count; i++) {
dummyData.push({
id: i,
Phase: phases[i % phases.length],
Hours: 0,
EditHours: i%3===0,
});
}
var app = angular.module('app', ['wj']);
app.controller('appCtrl', function ($scope) {
$scope.test = 2323;
$scope.data = new wijmo.collections.CollectionView(dummyData);
$scope.$watch('flex', function () {
var flex = $scope.flex;
if (flex) {
flex.itemFormatter= function (panel, r, c, cell) {
if (wijmo.grid.CellType.Cell == panel.cellType) {
cell.style.background = '';
if (panel.columns[c].binding == 'Hours' && r != flex.rows.length ) {
if (panel.getCellData(r, flex.columns.getColumn("EditHours").index) == true) {
cell.style.background = 'red';
} else {
cell.style.background = '';
}
}
}
}
flex.pastingCell.addHandler(function (s, e) {
var row = s.rows[e.row],
col = s.columns[e.col],
item = row.dataItem;
if (col.binding == 'Hours' && item.EditHours == true) {
e.cancel = true;
}
});
flex.beginningEdit.addHandler(function (s, e) {
var row = s.rows[e.row],
col = s.columns[e.col],
item = row.dataItem;
...