09_table

Last modified by Bimit Administrator on 25.12.2025, 14:03

Это интерфейс для отображения результата работы плагина в табличном виде в системе BIMIT
В нем доступны следующий функции:

  • addHeaderRow - добавление строки с заголовками в таблицу
  • addRow - добавление строки
  • insertRow - добавление содержимого строки
  • addCell - добавление ячейки в таблицу
  • addButton - добавление кнопки с действием жирный/простой
  • setPageSize - установка количества элементов на одной странице
  • showPage - установка текущей отображаемой таблиц
  • replaceRow - замена содержимого строки по указанному индексу с указанием новых данных
  • sortASC - установка параметров для сортировки данных в таблице по возрастанию с указанием столбца
  • sortDESC - установка параметров для сортировки данных в таблице по убыванию с указанием столбца
  • createGroupElements - создание группы элементов с указанием цвета группы и списка элементов
  • saveTempTable - сохранение временной таблицы (перед сохранением сортирует данные)
  • xlsxToJSON - преобразование документа Excel (XLSX, XLS) в формат JSON
  • xlsxToJSON - преобразование документа Excel (XLSX, XLS) в формат JSON с учетом пагинации
  • setFontBold - применение жирного шрифта
  • setFontItalic - применение курсива
  • setFontSize - применение размера шрифта
  • setCellAlignment - применение выравнивания

addHeaderRow - добавление строки с заголовками в таблицу

  • table.addHeaderRow ("Заголовок 1","Заголовок 2","Заголовок 3") - сколько заголовков, столько и столбцов в итоговой странице

Пример использования:

table.addHeaderRow("Заголовок 1","Заголовок 2","Заголовок 3")

addRow - добавление строки

  • table.addRow ("Строка 1","Строка 2","Строка 3") - создает строку с выбранными данными
  • table.addRow () - создает пустую строку

Примеры использования:

table.addRow("Строка 1","Строка 2","Строка 3")
table.addRow()

insertRow - добавление содержимого строки

  • table.insertRow (int indexRow, Map<Object, Object>... inp) - добавление содержимого строки по указанному индексу
  • table.insertRow (int indexRow, Object... inp) - добавление содержимого строки по указанному индексу

Пример использования:

addCell - добавление ячейки в таблицу

  • table.addCell (индекс строки, индекс столбца, данные)
  • table.addCell (1,1, "123") - создает ячейку в указанном поле или заменяет существующую
  • table.addCell (индекс столбца, данные)
  • table.addCell (1, "123")  - заменяет существующую в указанном столбце

Примеры использования:

table.addCell(индекс строки, индекс столбца, данные)
table.addCell(1,1, "123")
table.addCell(индекс столбца, данные)
table.addCell(1, "123")

addButton - добавление кнопки с действием

  • table.addButton (int indexColumn, int indexRow, String buttonName, String ACTION_TYPE, Object... args)
    Количество и тип передаваемых данных зависит от действия

Типы действий:

SHOW_ELEMENTSподсветка элементов на модели по defoult (обычная выборка)
SHOW_GROUP_ELEMENTSподсветка элементов на модели в соответствии с назначенными для них цветами (если цвет не назначен, то по defoult)

Примеры использования:

table.addButton(1,3,"click","SHOW_ELEMENTS",["29dec5b9-bfe8-4189-82c7-7aec4c858fce",  "98cff622-b2a9-475b-be6d-77f443f0ed53"]) 
table.addButton(1,1, "color el", "SHOW_GROUP_ELEMENTS", "#FF0000",
["98cff622-b2a9-475b-be6d-77f443f0ed53", "bd70e912-ffaf-4374-8185-e1d44bd4461e", "29dec5b9-bfe8-4189-82c7-7aec4c858fce"]) 
def arr = []  
    def conditionOne = bim.createCondition("class", "eq", "IfcPile")
   
    def el = bim.getElements(conditionOne)
   
    arr.add(el[0].uuid)
    arr.add(new Colored("#F322dd", el[1]))
    arr.add(new Colored("#F30011", el[3].uuid))
    arr.add(new Colored("#F399dd", "493105b3-d8ab-422e-95ea-dbaab48c8a68"))
    arr.add(new Colored("#002fff", "2049c986-1f49-4a39-8c1a-dc19348f9d40"))

    table.addButton(1,1, "color group", "SHOW_GROUP_ELEMENTS", "#ff6600", arr)
    table.addButton(2,1, "group", "SHOW_GROUP_ELEMENTS", arr) 

setPageSize - установка количества элементов на одной странице

  • table.setPageSize (количество элементов на странице) - устанавливает количество отображаемых элементов  (по умолчанию 10)

Примеры использования:

table.setPageSize(10)

showPage - установка текущей отображаемой таблиц

  • table.showPage (индекс текущей страницы) - устанавливает текущую страницу (нумерация начинается с 1)

Примеры использования:

table.showPage(1)

replaceRow - замена содержимого строки по указанному индексу с указанием новых данных

  • table.replaceRow (int indexRow, Object... inp)

Пример использования:

sortASC - установка параметров для сортировки данных в таблице по возрастанию с указанием столбца

  • table.sortASC (int indexColumn)

Пример использования:

sortDESC - установка параметров для сортировки данных в таблице по убыванию с указанием столбца

  • table.sortDESC (int indexColumn)

Пример использования:

createGroupElements - создание группы элементов с указанием цвета группы и списка элементов

  • table.createGroupElements (String color, List<T> elements)

Пример использования:

saveTempTable - сохранение временной таблицы (перед сохранением сортирует данные)

  • table.saveTempTable ()

Пример использования:

xlsxToJSON - преобразование документа Excel (XLSX, XLS) в формат JSON

  • table.xlsxToJSON ()

Пример использования:

xlsxToJSON - преобразование документа Excel (XLSX, XLS) в формат JSON с учетом пагинации

  • table.xlsxToJSON (int page, int pageSize)

Пример использования:

setFontBold - применение жирного шрифта

  • table.setFontBold (индекс столбца, индекс строки)

Пример использования:

//Применить на всю таблицу
table.setFontBold(0, 0)

//Применить на конкретную строку
table.setFontBold(0, 2)

//Применить на конкретный столбец
table.setFontBold(4, 0)

//Применить на конкретную ячейку
table.setFontBold(4, 2)

setFontItalic - применение курсива

  • table.setFontItalic (индекс столбца, индекс строки)

Пример использования:

//Применить на всю таблицу
table.setFontItalic(0, 0)

//Применить на конкретную строку
table.setFontItalic(0, 2)

//Применить на конкретный столбец
table.setFontItalic(4, 0)

//Применить на конкретную ячейку
table.setFontItalic(4, 2)

setFontSize - применение размера шрифта

  • table.setFontSize (размер шрифта, индекс столбца, индекс строки)

Пример использования:

//Применить на всю таблицу
table.setFontSize(12, 0, 0)

//Применить на конкретную строку
table.setFontSize(15, 0, 2)

//Применить на конкретный столбец
table.setFontSize(8, 4, 0)

//Применить на конкретную ячейку
table.setFontSize(20, 4, 2)

setCellAlignment - применение выравнивания

  • table.setCellAlignment (сторона выравнивания, индекс столбца, индекс строки)

Пример использования:

//Применить на всю таблицу
table.setFontSize("left", 0, 0)

//Применить на конкретную строку
table.setFontSize("center", 0, 2)

//Применить на конкретный столбец
table.setFontSize("right", 4, 0)

//Применить на конкретную ячейку
table.setFontSize("left", 4, 2)