Wiki source code of 09_table

Version 9.1 by Bimit Administrator on 04.03.2026, 09:38

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