2009-06-04 4 views
0

Мне нужно создать сетку winforms с 3 уровнями, используя ультраградиентную обработку.Проблема иерархии сетки Ultragrid/Winforms

Уровень 1 не имеет 2 колонки (фиксированный)

---> Уровень 2 имеет 3 колонки (фиксированный)

--------> Уровень 3 имеет бесконечную нет столбцов (Dynamic в зависимости от типа уровня 2 пункта)

например

уровень 1 Пункт 1 -> 3 Столбцы (фиксированный)

уровень 1 Пункт 1 -> уровень 2 Пункт 1 -> 3 (Столбцы Исправлено)

Уровень 1 Пункт 1 -> Уровень 2 пункт 1 -> Уровень 3 Пункт 1 -> 3 Столбцы (Dynamic)

Уровень 1 Пункт 1 -> Уровень 2 пункт 2 -> 3 колонки (Fixed)

Уровень 1 Пункт 1 -> Уровень 2 Пункт 2 -> Уровень 3 Пункт 1 -> 6 колонок (Dynamic)

Как это может быть достигнуто на сетке, в частности Ultragrid?

Я имею массивную головную боль прямо сейчас

Приветствие

ответ

1

UltraGrid использует концепцию «полосы» для хранения иерархических данных. Ваш уровень 1 - это одна группа, ваш второй уровень - другой.

Вот где это становится сложно: ваш уровень 3 на самом деле представляет собой несколько групп в зависимости от того, сколько динамических типов у вас есть у предметов Уровня 2.

Если вы используете DataSet/DataTable в качестве источника данных, каждый из DataTable соответствует полосе, это просто:

  • 1 DataTable для Уровня 1
  • 1 DataTable для 2-го уровня (с DataRelation обратно в DataTable 1)
  • N DataTables для уровня 3, каждый из которых это собственные столбцы, и каждый из которых имеет DataRelation обратно в DataTable 2

HTH.

 Смежные вопросы

  • Нет связанных вопросов^_^