Таблица в [lsfusion] с динамическим количеством колонок
Источник: Stack Overflow на русском
Для этого необходимо использовать атрибуты COLUMNS при добавлении свойства на форму.
Например :
MODULE Main;
CLASS Row;
name = DATA STRING (Row);
CLASS Column;
name = DATA STRING (Column);
p1 = DATA NUMERIC (Row, Column);
p2 = DATA NUMERIC (Row, Column);
p3 = DATA NUMERIC (Row, Column);
FORM toExcel
OBJECTS c = Column
OBJECTS r = Row
PROPERTIES(r) name
PROPERTIES(r, c) COLUMNS (c) HEADER name(c) p1, p2, p3
;
exportToExcel () {
PRINT toExcel XLSX;
}
FORM test
OBJECTS r = Row
PROPERTIES(r) name, NEW, DELETE
OBJECTS c = Column
PROPERTIES(c) name, NEW, DELETE
PROPERTIES(r, c) p1, p2, p3
PROPERTIES() exportToExcel
;
NAVIGATOR {
NEW test;
}
Затем нужно создать печатное представление формы следующего вида (в формате jrxml) :
В результате при нажатии кнопки выгрузки в Excel будет электронная таблица вида :