Wiki source code of 09_table

Version 8.1 by Bimit Administrator on 04.03.2026, 09:34

Show last authors
1 Это интерфейс для отображения результата работы плагина в табличном виде в системе BIMIT
2 В нем доступны следующий функции:
3
4 * [[addHeaderRow>>path:#_Toc1]] - добавление строки с заголовками в таблицу
5 * [[addRow>>path:#_Toc2]] - добавление строки
6 * [[insertRow>>path:#_Toc14]] - добавление содержимого строки
7 * [[addCell>>path:#_Toc3]] - добавление ячейки в таблицу
8 * [[addButton>>path:#_Toc4]] - добавление кнопки с действием жирный/простой
9 * [[setPageSize>>path:#_Toc5]] - установка количества элементов на одной странице
10 * [[showPage>>path:#_Toc6]] - установка текущей отображаемой таблиц
11 * [[replaceRow>>path:#_Toc7]] - замена содержимого строки по указанному индексу с указанием новых данных
12 * [[sortASC>>path:#_Toc8]] - установка параметров для сортировки данных в таблице по возрастанию с указанием столбца
13 * [[sortDESC>>path:#_Toc9]] - установка параметров для сортировки данных в таблице по убыванию с указанием столбца
14 * [[createGroupElements>>path:#_Toc10]] - создание группы элементов с указанием цвета группы и списка элементов
15 * [[saveTempTable>>path:#_Toc11]] - сохранение временной таблицы (перед сохранением сортирует данные)
16 * [[xlsxToJSON>>path:#_Toc12]] - преобразование документа Excel (XLSX, XLS) в формат JSON
17 * [[xlsxToJSON>>path:#_Toc13]] - преобразование документа Excel (XLSX, XLS) в формат JSON с учетом пагинации
18 * [[setFontBold>>path:#_Toc14]] - применение жирного шрифта
19 * [[setFontItalic>>path:#_Toc15]] - применение курсива
20 * [[setFontSize>>path:#_Toc16]] - применение размера шрифта
21 * [[setCellAlignment>>path:#_Toc17]] - применение выравнивания
22 * [[setColumnVisible>>path:#_Toc18]] - добавление видимости колонки
23
24 (% class="box infomessage" %)
25 (((
26 **{{id name="_Toc1"/}}addHeaderRow** - добавление строки с заголовками в таблицу
27 )))
28
29 * **table.addHeaderRow ("Заголовок 1","Заголовок 2","Заголовок 3")** - сколько заголовков, столько и столбцов в итоговой странице
30
31 **Пример использования:**
32
33 {{code language="java"}}
34 table.addHeaderRow("Заголовок 1","Заголовок 2","Заголовок 3")
35 {{/code}}
36
37
38 (% class="box infomessage" %)
39 (((
40 **{{id name="_Toc2"/}}addRow** - добавление строки
41 )))
42
43 * **table.addRow ("Строка 1","Строка 2","Строка 3")** - создает строку с выбранными данными
44 * **table.addRow ()** - создает пустую строку
45
46 **Примеры использования:**
47
48 {{code language="java"}}
49 table.addRow("Строка 1","Строка 2","Строка 3")
50 {{/code}}
51
52 {{code language="java"}}
53 table.addRow()
54 {{/code}}
55
56
57 (% class="box infomessage" %)
58 (((
59 **{{id name="_Toc14"/}}insertRow** - добавление содержимого строки
60 )))
61
62 * **table.insertRow (int indexRow, Map<Object, Object>... inp)** - добавление содержимого строки по указанному индексу
63 * **table.insertRow (int indexRow, Object... inp)** - добавление содержимого строки по указанному индексу
64
65 **Пример использования:**
66
67 {{code language="java"}}{{/code}}
68
69 {{code language="java"}}{{/code}}
70
71
72 (% class="box infomessage" %)
73 (((
74 **{{id name="_Toc3"/}}addCell** - добавление ячейки в таблицу
75 )))
76
77 * **table.addCell (индекс строки, индекс столбца, данные)**
78 * **table.addCell (1,1, "123")** - создает ячейку в указанном поле или заменяет существующую
79 * **table.addCell (индекс столбца, данные)**
80 * **table.addCell (1, "123")** - заменяет существующую в указанном столбце
81
82 **Примеры использования:**
83
84 {{code language="java"}}
85 table.addCell(индекс строки, индекс столбца, данные)
86 {{/code}}
87
88 {{code language="java"}}
89 table.addCell(1,1, "123")
90 {{/code}}
91
92 {{code language="java"}}
93 table.addCell(индекс столбца, данные)
94 {{/code}}
95
96 {{code language="java"}}
97 table.addCell(1, "123")
98 {{/code}}
99
100
101 (% class="box infomessage" %)
102 (((
103 **{{id name="_Toc4"/}}addButton** - добавление кнопки с действием
104 )))
105
106 * **table.addButton (int indexColumn, int indexRow, String buttonName, String ACTION_TYPE, Object... args)**
107 Количество и тип передаваемых данных зависит от действия
108
109 **Типы действий:**
110
111 (% cellspacing="0" style="border-collapse:collapse; border:none; width:850px" %)
112 |(% style="border-color:#000000; border-style:solid; border-width:1px; padding:7px; vertical-align:top; width:363px" %)**SHOW_ELEMENTS**|(% style="border-color:#000000; border-style:solid; border-width:1px; padding:7px; vertical-align:top; width:485px" %)подсветка элементов на модели по defoult (обычная выборка)
113 |(% style="border-color:#000000; border-style:solid; border-width:1px; padding:7px; vertical-align:top; width:363px" %)**SHOW_GROUP_ELEMENTS**|(% style="border-color:#000000; border-style:solid; border-width:1px; padding:7px; vertical-align:top; width:485px" %)подсветка элементов на модели в соответствии с назначенными для них цветами (если цвет не назначен, то по defoult)
114
115 **Примеры использования:**
116
117
118 {{code language="java"}}
119 table.addButton(1,3,"click","SHOW_ELEMENTS",["29dec5b9-bfe8-4189-82c7-7aec4c858fce", "98cff622-b2a9-475b-be6d-77f443f0ed53"])
120 {{/code}}
121
122 {{code language="java"}}
123 table.addButton(1,1, "color el", "SHOW_GROUP_ELEMENTS", "#FF0000",
124 ["98cff622-b2a9-475b-be6d-77f443f0ed53", "bd70e912-ffaf-4374-8185-e1d44bd4461e", "29dec5b9-bfe8-4189-82c7-7aec4c858fce"])
125 {{/code}}
126
127 {{code language="java"}}
128 def arr = []
129 def conditionOne = bim.createCondition("class", "eq", "IfcPile")
130
131 def el = bim.getElements(conditionOne)
132
133 arr.add(el[0].uuid)
134 arr.add(new Colored("#F322dd", el[1]))
135 arr.add(new Colored("#F30011", el[3].uuid))
136 arr.add(new Colored("#F399dd", "493105b3-d8ab-422e-95ea-dbaab48c8a68"))
137 arr.add(new Colored("#002fff", "2049c986-1f49-4a39-8c1a-dc19348f9d40"))
138
139 table.addButton(1,1, "color group", "SHOW_GROUP_ELEMENTS", "#ff6600", arr)
140 table.addButton(2,1, "group", "SHOW_GROUP_ELEMENTS", arr)
141 {{/code}}
142
143
144 (% class="box infomessage" %)
145 (((
146 **{{id name="_Toc5"/}}setPageSize** - установка количества элементов на одной странице
147 )))
148
149 * **table.setPageSize (количество элементов на странице)** - устанавливает количество отображаемых элементов  (по умолчанию 10)
150
151 **Примеры использования:**
152
153 {{code language="java"}}
154 table.setPageSize(10)
155 {{/code}}
156
157
158 (% class="box infomessage" %)
159 (((
160 **{{id name="_Toc6"/}}showPage** - установка текущей отображаемой таблиц
161 )))
162
163 * **table.showPage (индекс текущей страницы)** - устанавливает текущую страницу (нумерация начинается с 1)
164
165 **Примеры использования:**
166
167 {{code language="java"}}
168 table.showPage(1)
169 {{/code}}
170
171 (% class="box infomessage" %)
172 (((
173 **{{id name="_Toc7"/}}replaceRow** - замена содержимого строки по указанному индексу с указанием новых данных
174 )))
175
176 * **table.replaceRow (int indexRow, Object... inp)**
177
178 **Пример использования:**
179
180 {{code language="java"}}{{/code}}
181
182 (% class="box infomessage" %)
183 (((
184 **{{id name="_Toc8"/}}sortASC** - установка параметров для сортировки данных в таблице по возрастанию с указанием столбца
185 )))
186
187 * **table.sortASC (int indexColumn)**
188
189 **Пример использования:**
190
191 {{code language="java"}}{{/code}}
192
193 (% class="box infomessage" %)
194 (((
195 **{{id name="_Toc9"/}}sortDESC** - установка параметров для сортировки данных в таблице по убыванию с указанием столбца
196 )))
197
198 * **table.sortDESC (int indexColumn)**
199
200 **Пример использования:**
201
202 {{code language="java"}}{{/code}}
203
204 (% class="box infomessage" %)
205 (((
206 **{{id name="_Toc10"/}}createGroupElements** - создание группы элементов с указанием цвета группы и списка элементов
207 )))
208
209 * **table.createGroupElements (String color, List<T> elements)**
210
211 **Пример использования:**
212
213 {{code language="java"}}{{/code}}
214
215 (% class="box infomessage" %)
216 (((
217 **{{id name="_Toc11"/}}saveTempTable** - сохранение временной таблицы (перед сохранением сортирует данные)
218 )))
219
220 * **table.saveTempTable ()**
221
222 **Пример использования:**
223
224 {{code language="java"}}{{/code}}
225
226 (% class="box infomessage" %)
227 (((
228 **{{id name="_Toc12"/}}xlsxToJSON** - преобразование документа Excel (XLSX, XLS) в формат JSON
229 )))
230
231 * **table.xlsxToJSON ()**
232
233 **Пример использования:**
234
235 {{code language="java"}}{{/code}}
236
237 (% class="box infomessage" %)
238 (((
239 **{{id name="_Toc13"/}}xlsxToJSON** - преобразование документа Excel (XLSX, XLS) в формат JSON с учетом пагинации
240 )))
241
242 * **table.xlsxToJSON (int page, int pageSize)**
243
244 **Пример использования:**
245
246 {{code language="java"}}{{/code}}
247
248 (% class="box infomessage" %)
249 (((
250 **{{id name="_Toc14"/}}setFontBold** - применение жирного шрифта
251 )))
252
253 * **table.setFontBold (индекс столбца, индекс строки)**
254
255 **Пример использования:**
256
257 {{code language="java"}}
258 //Применить на всю таблицу
259 table.setFontBold(0, 0)
260
261 //Применить на конкретную строку
262 table.setFontBold(0, 2)
263
264 //Применить на конкретный столбец
265 table.setFontBold(4, 0)
266
267 //Применить на конкретную ячейку
268 table.setFontBold(4, 2)
269 {{/code}}
270
271
272 (% class="box infomessage" %)
273 (((
274 **{{id name="_Toc15"/}}setFontItalic** - применение курсива
275 )))
276
277 * **table.setFontItalic (индекс столбца, индекс строки)**
278
279 **Пример использования:**
280
281 {{code language="java"}}
282 //Применить на всю таблицу
283 table.setFontItalic(0, 0)
284
285 //Применить на конкретную строку
286 table.setFontItalic(0, 2)
287
288 //Применить на конкретный столбец
289 table.setFontItalic(4, 0)
290
291 //Применить на конкретную ячейку
292 table.setFontItalic(4, 2)
293 {{/code}}
294
295
296 (% class="box infomessage" %)
297 (((
298 **{{id name="_Toc16"/}}setFontSize** - применение размера шрифта
299 )))
300
301 * **table.setFontSize (размер шрифта, индекс столбца, индекс строки)**
302
303 **Пример использования:**
304
305 {{code language="java"}}
306 //Применить на всю таблицу
307 table.setFontSize(12, 0, 0)
308
309 //Применить на конкретную строку
310 table.setFontSize(15, 0, 2)
311
312 //Применить на конкретный столбец
313 table.setFontSize(8, 4, 0)
314
315 //Применить на конкретную ячейку
316 table.setFontSize(20, 4, 2)
317 {{/code}}
318
319
320 (% class="box infomessage" %)
321 (((
322 **{{id name="_Toc17"/}}setCellAlignment** - применение выравнивания
323 )))
324
325 * **table.setCellAlignment (сторона выравнивания, индекс столбца, индекс строки)**
326
327 **Пример использования:**
328
329 {{code language="java"}}
330 //Применить на всю таблицу
331 table.setFontSize("left", 0, 0)
332
333 //Применить на конкретную строку
334 table.setFontSize("center", 0, 2)
335
336 //Применить на конкретный столбец
337 table.setFontSize("right", 4, 0)
338
339 //Применить на конкретную ячейку
340 table.setFontSize("left", 4, 2)
341 {{/code}}
342
343 (% class="box infomessage" %)
344 (((
345 **{{id name="_Toc18"/}}setColumnVisible** - добавление видимости колонки
346 )))
347
348 * **table.setColumnVisible (" "," ")** - добавление видимости колонки
349
350 **Пример использования:**
351
352 {{code language="java"}}
353 table.setColumnVisible(1, "TABLE")
354 table.setColumnVisible(2, "TABLE")
355 table.setColumnVisible(3, "EXPORT")
356 {{/code}}