Проблема с иерархией сетки Ultragrid / Winforms
Вопрос
Мне нужно создать сетку winforms с 3 уровнями, используя infragistics ultragrid.
Уровень 1 имеет 2 столбца (фиксированный)
---> Уровень 2 имеет 3 столбца (исправлено)
--------> Уровень 3 имеет бесконечное количество столбцов (динамический в зависимости от типа элемента уровня 2)
пример
Элемент 1 уровня 1 -> 3 Столбца (исправлено)
Элемент 1 уровня 1 -> Элемент 1 уровня 2 -> 3 Столбца (исправлено)
Элемент 1 уровня 1 -> Элемент 1 уровня 2 -> Элемент 1 уровня 3 -> 3 столбца (динамический)
Элемент 1 уровня 1 -> Элемент 2 уровня 2 -> 3 Столбца (исправлено)
Элемент 1 уровня 1 -> Элемент 2 уровня 2 -> Элемент 1 уровня 3 -> 6 Столбцов (динамический)
Как этого можно достичь в сетке, в частности в Ultragrid?
Прямо сейчас у меня сильно болит голова
Ваше здоровье
Решение
UltraGrid использует концепцию "диапазонов" для хранения иерархических данных.Ваш уровень 1 - это одна группа, ваш Уровень 2 - это другая.
Вот тут-то все и становится сложнее:ваш уровень 3 на самом деле состоит из нескольких диапазонов, в зависимости от того, сколько у вас динамических типов элементов уровня 2.
Если вы используете DataSet / DataTable в качестве источника данных, каждый DataTable соответствует диапазону, это просто:
- 1 Доступные данные для уровня 1
- 1 DataTable для уровня 2 (с привязкой данных обратно к DataTable 1)
- N таблиц данных для уровня 3, каждая с собственными столбцами, и каждая из них имеет Ссылку данных обратно на DataTable 2
ХТХ.