Модераторы: Poseidon, Snowy, bems, MetalFan

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Отображение данных в виде дерева 
:(
    Опции темы
holodnaya
Дата 31.7.2008, 09:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 75
Регистрация: 30.7.2008

Репутация: нет
Всего: нет



Зравствуйте, уважаемые!

Сегодня возникла ещё одна проблема с деревяьми. Существует 2 дерева: одно с названиями подразделений и отделов, другое с соответсвующими им кодами. Дерево с кодами пользователь не видит, но при выборе подразделения или отдела в первом дереве необходимо считать его код из второго дерева. То есть, позиция во втором дереве должна равняться выбранной в первом дереве позиции. 
Скажите, пожалуйста, как это сделать.
Или, может быть, существуют иной способ считать код подразделения и отдела, используя толко одно дерево?
PM MAIL   Вверх
Alkash
Дата 31.7.2008, 09:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


коллекционер жизни
**


Профиль
Группа: Участник
Сообщений: 516
Регистрация: 5.7.2004
Где: /

Репутация: нет
Всего: нет



М...В подузел писать ещё и коды необходимые, просто не отображать - а читать, когда будет необходимо...


--------------------
Подпись >> /dev/null
PM MAIL ICQ MSN   Вверх
Kbl4AH
Дата 31.7.2008, 09:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 741
Регистрация: 1.4.2008
Где: Вятка

Репутация: 1
Всего: 15



Цитата(Alkash @ 31.7.2008,  09:22)
М...В подузел писать ещё и коды необходимые, просто не отображать - а читать, когда будет необходимо...

Как это - писать, но не отображать? Часть строки видима, а часть - нет?

Как можно получить значение из дерева по абсолютному индексу?

Это сообщение отредактировал(а) Kbl4AH - 31.7.2008, 09:33
PM MAIL ICQ   Вверх
Alkash
Дата 31.7.2008, 09:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


коллекционер жизни
**


Профиль
Группа: Участник
Сообщений: 516
Регистрация: 5.7.2004
Где: /

Репутация: нет
Всего: нет



Ну так - дерево - ты в узел  отдел, в подузлы отдела остальную инфу. VirtualTree юзай, а из него передавай нужные тебе данные TreeView


--------------------
Подпись >> /dev/null
PM MAIL ICQ MSN   Вверх
Kbl4AH
Дата 31.7.2008, 09:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 741
Регистрация: 1.4.2008
Где: Вятка

Репутация: 1
Всего: 15



Не, мне нужно значение по абсолютному индексу получить...
P.S. А виртуалтри в каком наборе компонентов находится?

Это сообщение отредактировал(а) Kbl4AH - 31.7.2008, 09:54
PM MAIL ICQ   Вверх
Alkash
Дата 31.7.2008, 09:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


коллекционер жизни
**


Профиль
Группа: Участник
Сообщений: 516
Регистрация: 5.7.2004
Где: /

Репутация: нет
Всего: нет



Свойство TTreeNode: property Absolutelndex: Integer; Возвращает абсолютный индекс узла (с учетом всех подузлов)


--------------------
Подпись >> /dev/null
PM MAIL ICQ MSN   Вверх
Kbl4AH
Дата 31.7.2008, 10:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 741
Регистрация: 1.4.2008
Где: Вятка

Репутация: 1
Всего: 15



Абсолютный индекс я сам догадался как получить=)
Как мне теперь по не му значение получить?
PM MAIL ICQ   Вверх
Alkash
Дата 31.7.2008, 10:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


коллекционер жизни
**


Профиль
Группа: Участник
Сообщений: 516
Регистрация: 5.7.2004
Где: /

Репутация: нет
Всего: нет





--------------------
Подпись >> /dev/null
PM MAIL ICQ MSN   Вверх
Kbl4AH
Дата 31.7.2008, 10:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 741
Регистрация: 1.4.2008
Где: Вятка

Репутация: 1
Всего: 15



Alkash, ты чего раньше молчал? 
С меня "Тройной", пасиб!
PM MAIL ICQ   Вверх
Alkash
Дата 31.7.2008, 10:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


коллекционер жизни
**


Профиль
Группа: Участник
Сообщений: 516
Регистрация: 5.7.2004
Где: /

Репутация: нет
Всего: нет



Да не за что)


--------------------
Подпись >> /dev/null
PM MAIL ICQ MSN   Вверх
pseud
Дата 31.7.2008, 10:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Экспёрт Тыдыщ
***


Профиль
Группа: Завсегдатай
Сообщений: 1175
Регистрация: 18.5.2007
Где: Минск, Беларусь

Репутация: 10
Всего: 40



Цитата(holodnaya @  31.7.2008,  09:10 Найти цитируемый пост)
Сегодня возникла ещё одна проблема с деревяьми. Существует 2 дерева: одно с названиями подразделений и отделов, другое с соответсвующими им кодами. Дерево с кодами пользователь не видит, но при выборе подразделения или отдела в первом дереве необходимо считать его код из второго дерева. То есть, позиция во втором дереве должна равняться выбранной в первом дереве позиции. Скажите, пожалуйста, как это сделать.Или, может быть, существуют иной способ считать код подразделения и отдела, используя толко одно дерево?

у TreeNode есть чудесное свойство (наверняка тобой неиспользуемое) StateIndex (видно в том числе и в конструкторе).
в нем и храни идентификаторы.


--------------------
Испытание чужого терпения можно считать успешным, если оно лопнуло...
PM MAIL   Вверх
Poseidon
Дата 31.7.2008, 10:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Delphi developer
****


Профиль
Группа: Комодератор
Сообщений: 5273
Регистрация: 4.2.2005
Где: Гомель, Беларусь

Репутация: 53
Всего: 133



Цитата(Alkash @  31.7.2008,  09:48 Найти цитируемый пост)
Ну так - дерево - ты в узел  отдел, в подузлы отдела остальную инфу. VirtualTree юзай, а из него передавай нужные тебе данные TreeView
Прикольный совет. Если уже и использовать VirtualTreeView, то все в нем и делать. Хранить нужную инфу так проще простого.

Цитата(Kbl4AH @  31.7.2008,  09:52 Найти цитируемый пост)
P.S. А виртуалтри в каком наборе компонентов находится?
Это не стандартный компонент. Но очень нужный если собираешься писать приложения со сложными деревьями (и не только с деревьями).



--------------------
Если хочешь, что бы что-то работало - используй написанное, 
если хочешь что-то понять - пиши сам...
PM MAIL ICQ   Вверх
holodnaya
Дата 31.7.2008, 13:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 75
Регистрация: 30.7.2008

Репутация: нет
Всего: нет



Цитата

у TreeNode есть чудесное свойство (наверняка тобой неиспользуемое) StateIndex (видно в том числе и в конструкторе).
в нем и храни идентификаторы. 


не могли бы вы ещё объяснить, как  не вручную (не используя контсруктор) записать значение в StateIndex, например  в цикле, когда и создаются записи в дереве
PM MAIL   Вверх
pseud
Дата 31.7.2008, 13:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Экспёрт Тыдыщ
***


Профиль
Группа: Завсегдатай
Сообщений: 1175
Регистрация: 18.5.2007
Где: Минск, Беларусь

Репутация: 10
Всего: 40



Цитата(holodnaya @  31.7.2008,  13:01 Найти цитируемый пост)
не могли бы вы ещё объяснить, как  не вручную (не используя контсруктор) записать значение в StateIndex, например  в цикле, когда и создаются записи в дереве

приведи свой код создания узлов дерева
и я его дополню

Добавлено через 6 минут и 21 секунду
например так
Код

var
  node: TTreeNode;
  ...
begin
  ...
  node := TreeView1.Items.Add(nil, YourDataSet.FieldByName('Название').AsString);
  node.StateIndex := YourDataSet.FieldByName('ID').AsInteger;
  ...



--------------------
Испытание чужого терпения можно считать успешным, если оно лопнуло...
PM MAIL   Вверх
Kbl4AH
Дата 31.7.2008, 13:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 741
Регистрация: 1.4.2008
Где: Вятка

Репутация: 1
Всего: 15



А как, например, получить значение 2 веточки, 3 подветочки?
PM MAIL ICQ   Вверх
Страницы: (3) Все 1 [2] 3 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0536 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.