Работа с иерархическими данными в lsfusion
В своей статье на Хабре (https://habr.com/ru/company/lsfusion/blog/468047/) Вы показали хороший пример работы с группами и подчиненными данными. Вопрос - а можно ли такую технику применить к одиночному классу без введения дополнительного класса для группировок?
CLASS Animal 'Животное';
parent = DATA Animal (Animal);
name 'Отряд/Животное' = DATA STRING[100] (Animal);
areal = DATA STRING[100] (Animal);
И как теперь это все визуализировать в виде дерева в форме?
Ответы (1 шт):
Автор решения: maxlab
→ Ссылка
Итак, техническое решение иерархического представления данных без вспомогательного класса для группировки выглядит следующим образом:
CLASS Animal;
parent = DATA Animal(Animal);
name = DATA STRING[50] (Animal);
areal = DATA STRING[50] (Animal);
nameParent (Animal a) = name(parent(a));
// Для редактирования объекта
FORM animal
OBJECTS a = Animal PANEL
PROPERTIES(a) name, nameParent, areal
EDIT Animal OBJECT a
;
// Для представления списка объектов с деревом
FORM animals
TREE animal a = Animal PARENT parent(a)
PROPERTIES(a) READONLY name, areal
PROPERTIES(a) NEWSESSION NEW, EDIT, DELETE
LIST Animal OBJECT a
;
NAVIGATOR {
NEW animals;
}
Но, все равно ждем комментариев по коду от гуру.
