Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как организовать сортировку в 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
>и как запоминать созданный порядок отображения?
А это ещё что такое?


Наверх

Титульная страница Поиск, карта сайта Написать письмо