![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как организовать сортировку в TreeView? [D6, Win95/98]
MikeFW © (2002-08-06 11:11:00)Уважаемые Мастера,
как организовать сортировку в TreeView?
Например, я хочу перетаскивать (менять местами) "корневые" узлы (остальные я уже умею перетаскивать) в TreeView?
и как запоминать созданный порядок отображения?
MikeFW (2002-08-07 11:00:00) [1]подскажите, пожалуйста, а как организовать сортировку по TTreeNode.Index? Напишите пожалуйста этот кусок кода ...
TTCustomDelphiMaster (2002-08-07 09:59:00) [2]MikeFW (06.08.02 15:32)
Считывай данные из таблицы с помощью TQuery с сортировкой по TTreeNode.Index, а затем вноси в дерево.
ЮЮ (2002-08-07 05:52:00) [3]В ParentNode добавляем TreeNode из таблицы:
While NodeID>=ParentNode.Count
do //чтобы не нароушить порядок вствляем пустые,ещё не считанные из БД, которые определим позже
AddChild(ParentNode,"");
ParentNode.Item[NodeID].Text:=Name
x 2
0 - ""
1 - ""
2 - ""
2 - "х"
y 0
0 - "y"
z 1
1 - "z"
>и как поменять местами два "корневых узла"?
"корневой узел" должен быть один TreeView.Items[0]
Он может не показываться TreeView.ShowRoot:=false и тогда это выглядит как много узлов на первом уровне
MikeFW (2002-08-06 16:56:00) [4]и как поменять местами два "корневых узла"?
MikeFW (2002-08-06 15:32:00) [5]Допустим я переставил элементы и записал TTreeNode.Index в таблицу, у меня получилось следующее:
Name NodeID
x 2
y 0
z 1
но как теперь построить TreeView, используя этот столбец (и соотвественно используя такую последовательность в построении)?
ведь раньше узлы строились в порядке следования в таблице БД...
ЮЮ (2002-08-06 11:45:00) [6]Значит храни в таблице и TTreeNode.Index
Song (2002-08-06 11:34:00) [7]TTreeView.CustomSort()+TTreeView.SaveToFile()
MikeFW (2002-08-06 11:30:00) [8]узлы храняться не в файле, а в таблице базы данных MS SQL
anod (2002-08-06 11:27:00) [9]А ты запоминай список в файл,а потом загружай.
MikeFW (2002-08-06 11:23:00) [10]ну например,
я перетащил узлы с названием 1, 2, 3 - 2, 1, 3
и в следующий раз их именно так и хочу открыть, а не перетаскивать каждый раз заново
ЮЮ (2002-08-06 11:18:00) [11]TTreeNode.AlphaSort
>и как запоминать созданный порядок отображения?
А это ещё что такое?