09_table

Версия 15.2 от Bimit Administrator на 04.03.2026, 10:57

Это интерфейс для отображения результата работы плагина в табличном виде в системе 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 - применение выравнивания
  • setColumnVisible - добавление видимости колонки
  • addImage - добавление картинки в таблицу
  • getImage - получение картинки из общей коллекции
  • addSheet - создание дополнительного листа таблицы
  • renameCurrentSheet - редактирование названия текущего / активного листа
  • renameSheet - редактирование названия листа
  • setCurrentSheet - установка активного листа таблицы

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

  • table.addHeaderRow ("Заголовок 1","Заголовок 2","Заголовок 3") - сколько заголовков, столько и столбцов в итоговой странице
  • table.addHeaderRow(new Column(“Код”,EXPORT), new Column(“Название”,BOTH), new Column(“Ед. изм”,TABLE)) - добавление в аналитический отчет параметра видимости колонки в файле экспорта и в таблице

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

table.addHeaderRow("Заголовок 1","Заголовок 2","Заголовок 3")
table.addHeaderRow( new Column("Код",EXPORT), new Column("Название",BOTH), new Column("Ед. изм",TABLE))

Примечание:

  • на экране отобразятся колонки где TABLE | BOTH
  • в файле экспорта отобразятся колонки где EXPORT | BOTH

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)

setColumnVisible - добавление видимости колонки в аналитическом отчете

  • table.setColumnVisible ("Индекс колонки","Область видимости") - добавление видимости колонки

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

table.setColumnVisible(1, "TABLE")
table.setColumnVisible(2, "TABLE")
table.setColumnVisible(3, "EXPORT")

addImage - добавление картинки в таблицу

  • table.addImage(колонка, строка, изображение) - добавление картинки в таблицу
  • table.addImage(колонка, строка, изображение, размер изображения) - добавление картинки, ограниченной размером, в таблицу

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

table.addImage(6, 1, imgResult)
table.addImage(5, 1,img3, 200)

getImage - получение картинки из общей коллекции

  • table.getImage("путь до картинки") - получение картинки
  • img.crop (X1, Y1, X2, Y2) - обрезать текущую картинку 
  • Images.joinHorizontal (img1, img2) - склеивание картинок по горизонтали
  • Images.joinVertical (img1, img2) - склеивание картинок по вертикали

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

def img1 = table.getImage("collections/images/Arm/IFC_Арматура_Кольцо_ГОСТ_5781-82.png")
def img2 = table.getImage("collections/images/Arm/О_(23).png")
def img3 = Images.joinHorizontal(img1, img2.crop(10, 10, 400, 200))
def img4 = Images.joinVertical(img1, img2.crop(10, 10, 400, 200))

addSheet - создание дополнительного листа таблицы

  • table.addSheet("Название листа") - созданный новый лист становится активным

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

table.addSheet("Лист2")

renameCurrentSheet - редактирование названия текущего / активного листа

  • table.renameCurrentSheet ("Новое название листа") - редактирование названия текущего / активного листа

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

table.renameCurrentSheet("Лист3")

renameSheet - редактирование названия листа

  • table.renameSheet(ID, "Новое название листа") - редактирование названия листа, ID листа - это его порядковый номер, отсчет начинается с нуля
  • table.renameSheet("Старое название листа", "Новое название листа") - редактирование названия листа

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

table.renameSheet(0, "Лист2")
table.renameSheet("Лист2", "Лист3")

setCurrentSheet - установка активного листа таблицы

  • table.setCurrentSheet("Название листа") - установка активного листа таблицы
  • table.setCurrentSheet(ID) - ID листа - это его порядковый номер, отсчет начинается с нуля

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

table.setCurrentSheet("Лист2")
table.setCurrentSheet(1)