getCutRanges();
The getCutRanges method gets ranges separated with fixation lines.
This method returns a JSON object with the following fields: tlRange - top left range, trRange - top right range, blRange - bottom left range, brRange - bottom right range, and status - splitting mode for the initial range.
To execute the example, the HTML page must contain the TabSheet component named tabSheet (see Example of Creating the TabSheet Component). Define the B1:D4 range, fix the first row and first column in this range. Set different fill colors for the ranges obtained after the initial range is split with fixation lines, find width and height for the range consisting of non-fixed cells:
// Determine the range B1:D4 var range = tabSheet.getRange(0, 0, 2, 3); // Determine the function for table cell fill var fill = function (range, color) { // Get a cell array in the range var cells = range.getCells(); for (var i in cells) { // Get a separate cell var cell = cells[i]; // Get cell style var style = cell.getStyle(); style.Fill.Color = color; // Fill color cell.setStyle(style); // Set cell style // Set this style for the table cell too var style = tabSheet.getModel().getStylesJSON()[0]; var coord = cell.getCoord(); range.getTabSheet().getModel().setStyle(tabSheet.getCell(coord.rowIndex, coord.colIndex), style); } }; // Fix the first row and the first column in the range tabSheet.setFixedColumn(0); tabSheet.setFixedRow(0); // Determine whether fixation lines intersect the range var isCuttedRange = range.isCuttedRange(); if (isCuttedRange) { // Get the ranges split with fixed rows and columns var cutRanges = range.getCutRanges(); // Fill the obtained ranges with different colors if (range.getCutStatus() === "tblr") { this.fill(cutRanges.blRange, "yellow"); this.fill(cutRanges.brRange, "red"); this.fill(cutRanges.tlRange, "green"); this.fill(cutRanges.trRange, "blue"); } // Determine size of the obtained ranges var cutRangeSizes = range.getCutRangeSizes(); /* Determine width and height of the range of non-fixed cells*/ console.log("Non-fixed cell range width: " + cutRangeSizes.brSize.width); console.log("Non-fixed cell range height: " + cutRangeSizes.brSize.height); };
After executing the example the first row and first column in the B1:D4 range are fixed. Yellow, red, green and blue fill colors are defined for the ranges obtained after the initial range is split with fixation lines:
The browser console shows width and height of the range that consists of non-fixed cells:
Width of the range of non-fixed cells: 200
Range height: 150
See also: