Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Как задать идентификатор узла TreeView ?


Автор: AlexV 19.11.2002, 19:27
Как задать идентификатор узла TreeView ?

Заполняю TreeView из таблицы БД.
Поля таблицы: id (autoincrement), parent_id, title.
При добавлении вершины в компонент TreeView нужно куда-то (в какое-то свойство TTreeNode) поместить значение поля id из таблицы (для однозначной связи вершин дерева со строками таблицы).
На одном сайте видел пример несовсем корректного хранения id в свойстве TreeNode.Data

Query1.First;
while not Query1.EOF do
begin
 NewNode:=TreeView1.Items.AddChildObject(Query1.FieldByName('NAME').asString);
 integer(NewNode.Data):=Query1.FieldByName('ID').asInteger;
 Query1.Next;
end;

Так вот при компиляции в строке
 integer(NewNode.Data):=Query1.FieldByName('ID').asInteger;
выдается ошибка: Left side cannot be assigned to

Может у кого есть идеи, где в узле(TTreeNode) и как хранить id целого типа, считанное из таблицы ?

Автор: Vit 19.11.2002, 22:58
Приводить то типы надо с другой стороны...
Код

NewNode.Data:=Pointer(Query1.FieldByName('ID').asInteger);


А чтобы прочитать:
Код

Integer(NewNode.Data)

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)