Исходный код вики 09_table

Редактировал(а) Bimit Administrator 25.12.2025, 14:03

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