getCutRanges();
Метод getCutRanges возвращает диапазоны, разъединённые линиями фиксации.
Метод возвращает JSON-объект со следующими полями: tlRange - верхний левый, trRange - верхний правый, blRange - нижний левый и brRange - нижний правый диапазоны, status - режим разбития исходного диапазона.
Для выполнения примера необходимо наличие на html-странице компонента TabSheet с наименованием «tabSheet» (см. «Пример создания компонента TabSheet»). Определим диапазон B1:D4, зафиксируем первую строку и первый столбец, входящие в него. Для полученных после разбития линиями фиксации диапазонов установим разные цвета заливки, а также определим ширину и высоту диапазона из нефиксированных ячеек:
// Определим диапазон B1:D4 var range = tabSheet.getRange(0, 0, 2, 3); // Определим функцию для заливки ячеек таблицы var fill = function (range, color) { // Получим массив ячеек в диапазоне var cells = range.getCells(); for (var i in cells) { // Получим отдельную ячейку var cell = cells[i]; // Получим стиль ячейки var style = cell.getStyle(); style.Fill.Color = color; // Цвет заливки cell.setStyle(style); // Установим стиль для ячейки // Установим этот стиль и для ячейки таблицы var style = tabSheet.getModel().getStylesJSON()[0]; var coord = cell.getCoord(); range.getTabSheet().getModel().setStyle(tabSheet.getCell(coord.rowIndex, coord.colIndex), style); } }; // Зафиксируем первую строку и первый столбец, входящие в данный диапазон tabSheet.setFixedColumn(0); tabSheet.setFixedRow(0); // Определим, пересекают ли диапазон линии фиксации var isCuttedRange = range.isCuttedRange(); if (isCuttedRange) { // Получим диапазоны, разъединённые фиксированными строками и столбцами var cutRanges = range.getCutRanges(); // Выполним заливку получившихся диапазонов разными цветами if (range.getCutStatus() === "tblr") { this.fill(cutRanges.blRange, "yellow"); this.fill(cutRanges.brRange, "red"); this.fill(cutRanges.tlRange, "green"); this.fill(cutRanges.trRange, "blue"); } // Определим размеры получившихся диапазонов var cutRangeSizes = range.getCutRangeSizes(); /* Определим ширину и высоту диапазона из нефиксировнных ячеек */ console.log("Ширина диапазона из нефиксированных ячеек: " + cutRangeSizes.brSize.width); console.log("Его высота: " + cutRangeSizes.brSize.height); };
В результате выполнения примера были зафиксированы первые строка и столбец, входящие в диапазон B1:D4. Для полученных после разбития линиями фиксации диапазонов были установлены жёлтый, красный, зелёный и синий цвета заливки:
В консоли браузера были выведены ширина и высота диапазона, состоящего из нефиксированных ячеек:
Ширина диапазона из нефиксированных ячеек: 200
Его высота: 150
См. также: