Поиск:

Ответ в темуСоздание новой темы Создание опроса
> TreeView - вопрос 
:(
    Опции темы
Atilla360
Дата 16.11.2009, 15:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Есть база MySQL. Сделал дерево (скрин1 в архиве).

Раздел1
****Подраздел1,1
****Подраздел1,2
****Подраздел1,3
Раздел2
****Подраздел2,1
****Подраздел2,2
Раздел3

Вопрос - как организовать чтобы при нажатии на плюсик и открытии списка подразделов в дереве в другой квери попадали данные этих подразделов (для работы с другими целями)
Тоесть - нажал на плюсик - открился раздел2 - в квери2 ушли данные о ****Подраздел2,1 и ****Подраздел2,2 

Присоединённый файл ( Кол-во скачиваний: 5 )
Присоединённый файл  ______.rar 6,08 Kb
PM MAIL   Вверх
SenkraD
Дата 16.11.2009, 16:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



ну обход дерева вродь вещь простая
Код
TSomeType TSomeForm::processItem(TTreeViewItem* item)
{
    if (item->Items->Count > 0)
   {
        for (int idx = 0; idx < item->Items->Count; ++idx)
       {
            TSomeType value = processItem(item->Items[idx]);
       }
   }
   else
   {
       // process items values
       return someValue;
   }
}
сражу скажу что:
   - пишу с коленки - не дам гарантии за точное названия свойств
   - если дерево имеет слишком мноо вложеностей, нужно писать решения
     на "стеке", а не на рекурсии

P.S. Если дадите примерную структуру запроса, то могу накидать более точное решение



--------------------
 Имеющий язык - да не убоится спросить! 
user posted image
PM MAIL ICQ   Вверх
Atilla360
  Дата 16.11.2009, 17:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



ну дело в том что я не уточнил(и это моя вина) - дерево делаю с помощью dxDBTreeView (дев экспресс) где в object инспекторе прописываю key field , parent field, и list field. Запрос один - типа select * from table1.
Вот и надо что б при ажатии на плюсик во второй квери шел запрос о тех подразделах которые находяться в открытом разделе.

И еще вопрос - есть ли у обычного TreeView функция которая позволяет расскрывать все ветки нажатием одной кнопки?
PM MAIL   Вверх
SenkraD
Дата 16.11.2009, 17:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Atilla360, с dxDBTreeView не работал так, что помочь не могу.
А по поводу "расскрывать все ветки нажатием одной кнопки", то есть метод FullExpand/FullCollapce




--------------------
 Имеющий язык - да не убоится спросить! 
user posted image
PM MAIL ICQ   Вверх
koroplysov
Дата 16.11.2009, 21:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



При создании дерева(корень его ), то есть при добавлении каждого узла, в него добавляется указатель на запись в базе данных. Во время экспанда извлекается из присоединенных данных указатель на запись и добавляются дочерние узлы. и т.д.
PM MAIL   Вверх
A5uKa
Дата 16.11.2009, 22:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


TЋ♥s F1rȜ iƧ BurȠiƞg
***


Профиль
Группа: Awaiting Authorisation
Сообщений: 1928
Регистрация: 30.8.2008

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



Что мешает сразу прогрузить всё дерево целиком ?

п.с. у тебя то оно одно  smile 

Это сообщение отредактировал(а) A5uKa - 16.11.2009, 22:50
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

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

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

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

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


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

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


 




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


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

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