Показать сообщение отдельно
  #1  
Старый 09.04.2014, 17:29
kasimka kasimka вне форума
Прохожий
 
Регистрация: 08.04.2014
Адрес: Брест
Сообщения: 7
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию Заполнение TreeView по группам

Дано: таблица StringGrid (в ней содержиться названия классов: 5а,5б,6в,11а,9б и т.д.), дерево TreeView
Задача: добавить данные из таблицы в дерево
Условие: если в таблице есть хоть один 5 класс - должен быть создана корневой узел "5 классы" и в него добавлены все 5 классы, которые есть, и т.д. Классы с нестандартными именами должны быть добавлены в корневой узел "Другие классы".

Частично я реализовал это так:
Код:
...
var
  ClassesNodes: array[5..12] of TTreeNode;
...
  for i:=5 to 11 do
    for j:=1 to MainForm.StringGridClasses.RowCount-1 do
      begin
        if Pos(IntToStr(i),MainForm.StringGridClasses.Cells[1,j])=1 then
          if not ClassesNodes[i].IsVisible then
            begin
              ClassesNodes[i]:=TreeView.Items.Add(nil, IntToStr(i)+' классы');
              TreeView.Items.AddChild(ClassesNodes[i], MainForm.StringGridClasses.Cells[1,j]);
            end
          else 
            TreeView.Items.AddChild(ClassesNodes[i], MainForm.StringGridClasses.Cells[1,j]);
      end;
...
Классы 5-11 успешно добавлены по категориям:
-5 классы
---5 а
---5 б
---5 в
-10 классы
---10 а
---10 б
Но как добавить классы, которые не попали под категорию? Например, "секция карате", "группа продленного дня" и т.п.
Ответить с цитированием