Дано: таблица 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 б
Но как добавить классы, которые не попали под категорию? Например, "секция карате", "группа продленного дня" и т.п.