Поиск:

Ответ в темуСоздание новой темы Создание опроса
> DBGrid и TreeView, взаимосвязь 
:(
    Опции темы
MyNick
Дата 13.10.2005, 09:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



подскажите плиз каким образом монжно связать DBGrid и TreeView, использую mssql, так же компоненты ADOConnection, DataSource и ADOQuery.
PM MAIL   Вверх
offline
Дата 13.10.2005, 10:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



А что ты хочешь получить таким образом? smile
PM MAIL   Вверх
MyNick
Дата 13.10.2005, 12:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



хочу представить базу данных таким способом
TreeView для выбора пункта, а DBGrid для отображения данных...
PM MAIL   Вверх
offline
Дата 13.10.2005, 13:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



ну установи себе EHLib и наслождайся

--Resize_Images_Alt_Text--

или почитай здесь

http://www.delphikingdom.com/asp/viewitem..../dbtreeview.htm

Это сообщение отредактировал(а) kirilllius - 13.10.2005, 13:29
PM MAIL   Вверх
MyNick
Дата 13.10.2005, 14:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



EHLib то я ставил тока со свойствами DBGridEh не получилось разобраться, а документацию по нему на русском найти не удалось...
PM MAIL   Вверх
offline
Дата 13.10.2005, 14:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



документация есть на русском и стоит кажись 500 р. smile
PM MAIL   Вверх
MyNick
Дата 13.10.2005, 14:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



а конкретнее как с помощь его реализовать древовидную структуру...
Добавлено @ 14:14
так вот то то и оно..)
PM MAIL   Вверх
MyNick
Дата 13.10.2005, 14:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



подскажите плиз как хоть установить взаимосвязь компонентов и подключить к базе... smile
PM MAIL   Вверх
offline
Дата 13.10.2005, 14:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



TreeView к базе не подключишь.

в ADOConnection устанавливаешь связь с базой.
в ADOTable ставишь источник данныу ADOConnection и задаешь таблицу
в DBGrid связываешь с ADOTable через DataSource

а как создать DBTreeView читай здесь www.delphikingdom.ru/helloworld/dbtreeview.htm

Это сообщение отредактировал(а) kirilllius - 13.10.2005, 14:45
PM MAIL   Вверх
MyNick
Дата 13.10.2005, 14:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



как к самой базе подключить то понятно
именно не получается связать все это в кучу...
может причина в том что голова сеня уже соображать никак не хочет)
спасибо за помощь, если чего еще обращусь)
PM MAIL   Вверх
Vet
Дата 13.10.2005, 16:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



MyNick, если у тебя есть EHLib, то для начала надо было посмотреть Demos'ы и посмотреть, как там реализовано дерево в DBGridEh'e. По-моему, там даже что-то было на русском написано smile
PM MAIL   Вверх
MyNick
Дата 13.10.2005, 17:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



первым делом в Demos'ы и полез) нашел там то что хотелось бы реализовать у себя, но к сожалению по русски там ниче нет а с ковырянием вот проблемы возникли....
PM MAIL   Вверх
offline
Дата 13.10.2005, 17:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



посмотри здесь

...\EhLib\AdvTech\MemTableEh\readme_rus.rtf

Цитата
4. Режим хранения записей в виде дерева (TreeView).
Настройка и активизация режима TreeView осуществляется с помощью подсвойств  объекта TMemTableEh.TreeList. TMemTableEh автоматически добавляет новые записи в дерево, используя свойства TreeList.KeyFieldName и TreeList.RefParentFieldName. При появлении новой записи, MemTable пытается найти для нее Parent запись, осуществляя поиск записей у которых значение поля KeyFieldName равно значению поля RefParentFieldName новой записи. Кроме того, он проверяет, не является ли новая запись Parent записью для уже существующих записей. Формирование дерева записей значительно ускоряется если создать индексы по полям указанным в TreeList.KeyFieldName и TreeList.RefParentFieldName.

Свойства объекта TMemTableEh.TreeList:
Active: Boolean - Определяет, что режим TreeView включен. В режиме TreeView вы можете обращаться к свойствам TMemTableEh: TreeNodeLevel, TreeNodeExpanded, TreeNodeHasChildren, TreeNodeChildCount.
KeyFieldName: String - Содержит название ключевого поля записи. Дочерние записи будут ссылаться на родительскую запись с ключом определенным полем KeyFieldName.
RefParentFieldName: String - Содержит название поля содержащего ссылку на родительскую запись.
DefaultNodeExpanded: Boolean - Определяет значение свойства Expanded для новых узлов дерева.
DefaultNodeHasChildren: Boolean - Определяет значение свойства HasChildren для новых узлов дерева.
FullBuildCheck: Boolean - Определяет необходимость делать проверку на наличие Child записей при добавлении новой записи или изменения существующей, выставление этого свойства в False может ускорить формирование дерева, но при заполнения DataSet'а все Child записи должны идти после Parent записи.


Это сообщение отредактировал(а) kirilllius - 13.10.2005, 17:28
PM MAIL   Вверх
Vet
Дата 13.10.2005, 17:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



В каталоге MemTableEh файл readme_rus.rtf, правда толку от него мало. Если инфы по-русски нет, то только ковыряние и поможет smile. Ничего сложного нет, я разобрался без всякой литературы
PM MAIL   Вверх
offline
Дата 13.10.2005, 17:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Vet

Цитата
я разобрался без всякой литературы


А яего не ковырял, а немного посмотрел smile насколько я понял, он работает с TMemTableEh т.е. с таблицей в памяти, а можно ли выгрузить результаты в базу или после закрытия проги все данные исчезнут?
PM MAIL   Вверх
Vet
Дата 13.10.2005, 20:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Цитата(kirilllius @ 13.10.2005, 17:32)
а можно ли выгрузить результаты в базу или после закрытия проги все данные исчезнут?

Это же легко проверить. Создаем тестовую таблицу с 3-мя полями: ID, PARENT_ID, VALUE. Если изменять в гриде, изменения сохраняются для поля VALUE. PARENT_ID же не изменяется
PM MAIL   Вверх
offline
Дата 13.10.2005, 20:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Создать то можно, просто возиться не охота smile. Спросил так, ради интереса, на будущее, стоит ли это использовать в будущих проектах или обходится без этого smile.
PM MAIL   Вверх
MyNick
Дата 14.10.2005, 08:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



EhLib\AdvTech\MemTableEh\readme_rus.rtf у меня почему то нет...если не сложно вышлине на мыло..
как я понял TMemTableEh тока формирует данные в табличном виде, а каким образом он связывается с DBGrigEh и отображает их?


PM MAIL   Вверх
MyNick
Дата 14.10.2005, 09:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



если все у вас просто получается то объясните мне какие компоненты кидать на форму, какие свойства у кого как выставить, что б они наконец то связались все в кучу... smile
PM MAIL   Вверх
offline
Дата 14.10.2005, 09:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Давай мыло
PM MAIL   Вверх
MyNick
Дата 14.10.2005, 10:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



PM MAIL   Вверх
offline
Дата 14.10.2005, 10:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



берешь ADOConnection1 и подключаешься к базе в которой должны бать три обязательных поля. Названия полей не важны, например:

ID - Числовое поле
ID_PARENT - Числовое поле
Name - строковое поле

затем ADOTable1 и подключаешься к базе и выбираешь таблицу.
затем DataSetDriverEh1 в KeyFilds имя ключевого поля указываешь ID
ProviderDataSet = ADOTable1

Затем MemTableEh1 в DataDriver = DataSetDriverEh1

забыл еще smile

DataSource1 в DataSet = MemTableEh1

DBGridEh1 в DataSource = DataSource1

и в

Код

procedure TForm1.FormCreate(Sender: TObject);
begin
  MemTableEh1.TreeList.Active := True;
  MemTableEh1.TreeList.KeyFieldName := 'ID';
  MemTableEh1.TreeList.RefParentFieldName := 'ID_PARENT';
  MemTableEh1.TreeList.DefaultNodeExpanded := True;
  MemTableEh1.Open;
end;


при создании ветви в ID заносишь ее номер, а в ID_PARENT заносишь
номер ветви родителя, если родителя нет, то ставишь 0

И самое главное, что бы сохранить изменения в таблице используй
MemTableEh1.ApplyUpdates, а то все изменения теряются, когда программа
закрывается, т.к. они хранятся в таблице памяти.

Это сообщение отредактировал(а) kirilllius - 14.10.2005, 10:24
PM MAIL   Вверх
MyNick
Дата 14.10.2005, 12:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



спасибо большое буду разбераться
сделал все как написал никаких проблем не возникло...
теперь надо DBGrid осваивать)
PM MAIL   Вверх
Vet
Дата 15.10.2005, 11:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



По-моему, древовидная структура в гриде не очень-то и нужна smile ..
PM MAIL   Вверх
offline
Дата 15.10.2005, 15:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



ну кому как, но я тоже не приветствую smile
PM MAIL   Вверх
MyNick
Дата 17.10.2005, 06:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



а где она приветствуется?)
PM MAIL   Вверх
Vet
Дата 17.10.2005, 11:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



В дереве smile
PM MAIL   Вверх
offline
Дата 17.10.2005, 11:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



но дерево к гриду замучаешься клеить smile
PM MAIL   Вверх
MyNick
Дата 18.10.2005, 11:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



эх...
поставил еще Quantum Grid но вот с связкой блин никак разобраться не могу...
покажите плиз наконец то как Grid связывается с таблицей и как же все таки отобразить данные в виде дерева... smile
PM MAIL   Вверх
offline
Дата 18.10.2005, 17:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



А что с EhLib не получилось?
PM MAIL   Вверх
Vet
Дата 18.10.2005, 17:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



MyNick, Ehlib не понравился smile ?

Цитата(kirilllius @ 14.10.2005, 10:18)
берешь ADOConnection1 и подключаешься к базе в которой должны бать три обязательных поля. Названия полей не важны, например:

ID - Числовое поле
ID_PARENT - Числовое поле
Name - строковое поле

затем ADOTable1 и подключаешься к базе и выбираешь таблицу.


Кидаешь на форму компоненты: DataSource, DataSet которого = ADOTable1 и
cxDBTreeList, разворачиваешь свойство DataController, указываешь свой DataSource, выбираешь KeyField и ParentField. Дальше открываешь редактор Bands/Columns cxDBTreeList'a, добавляешь поля TcxDBTreeListColumn. У каждого TcxDBTreeListColumn'а в свойстве DataBinding.FieldName выбираешь имя поля таблицы ADOTable1
PM MAIL   Вверх
MyNick
Дата 19.10.2005, 08:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



а что за компонент cxDBTreeList?
PM MAIL   Вверх
MyNick
Дата 19.10.2005, 09:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



кстати хотел выразить благодарность за собранный материал в DRKB ver. 2.3, много полезной информации там нашел smile
PM MAIL   Вверх
Vet
Дата 19.10.2005, 11:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Из ExpressQuantumTreeList, а у тебя что - ExpressQuantumGrid?
PM MAIL   Вверх
MyNick
Дата 19.10.2005, 13:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



ага понятно получилось
а с помощью чего можно редактировать количество и содержимое столбцов в запущенной программе и естественно что б данный сохранялись в базу и еще как связать лист с гридом что бы он отображал содержимое соотвествующей строки в листе.... smile smile
PM MAIL   Вверх
MyNick
Дата 19.10.2005, 14:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



при чем насколько понимаю данные должны выбираться с другой таблица и выводится в гриде, получается надо кинуть еще одну table и один DataSource и насторить на них grid , а вот как связать list с grid связать пока не понял...
PM MAIL   Вверх
Vet
Дата 19.10.2005, 17:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Цитата(MyNick @ 19.10.2005, 13:18)
ага понятно получилось

А что получилось? Компонент-то какой у тебя - cxDBTreeList? Вопросы задавай поконкретнее smile
PM MAIL   Вверх
Guest
Дата 19.10.2005, 17:46 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











да компонент именно cxDBTreeList, просто не нашел у него свойства DataController , по смыслу понял потом что это DataSource) а вопросы пока остаются прежними.Необходимо что бы одна таблица была связана с cxDBTreeList а другая с Grid и установить их взаимосвязь (при выборе в листе отображаются данные с другой таблице в гриде)
  Вверх
Vet
Дата 19.10.2005, 21:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Я так понял, в cxDBTreeList у тебя отображаются данные главной таблицы, в "Grid" - подчиненной. Значит, надо в Grid.DataSource.DataSet указать MasterSource = cxDBTreeList.DataController.DataSource.DataSet smile . То есть MasterSource таблицы, которая отображается в гриде, = таблице, которая отображается в cxDBTreeList. И еще настроить MasterFields подчиненной таблицы, ты же знаешь, по каким полям у тебя связаны таблицы smile
PM MAIL   Вверх
MyNick
Дата 20.10.2005, 13:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



таблица взаимосвязать получилось теперь вопрос заключается в следующем
почему не получается редактировать данные в treelist и как разделить столбцы grid -а на подстолбцы?)
PM MAIL   Вверх
Vet
Дата 21.10.2005, 22:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Цитата
почему не получается редактировать данные в treelist

Сложна сказать, все должно редактироваться, тем более если отображаются данные из таблицы, а не запрос какой-нибудь. Попробуй все удалить и сделать все сначала smile Посмотри, может где-нибудь ReadOnly стоит - у Table или Fields. Только что взял все это на форму накидал для интереса и все работает smile
Цитата
как разделить столбцы grid -а на подстолбцы
не понятно, что ты имеешь в виду
PM MAIL   Вверх
offline
Дата 22.10.2005, 15:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата
Цитата
как разделить столбцы grid -а на подстолбцы

не понятно, что ты имеешь в виду


Он говорит о том, как двум столбцам сделать один заголовок, т.е. как это DBGridEh делает.
PM MAIL   Вверх
Vet
Дата 22.10.2005, 20:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



А,так надо заглянуть в свойство Position нужных столбцов, свойство BandIndex. После двойного щелчка на компоненте ты попадаешь в редактор, в котором 2 вкладки - Bands и Columns. Каждый столбец находится в определенной Band'e. Вот и создай столько Band, сколько нужно и для каждого столбца задай Position.BandIndex
PM MAIL   Вверх
FRAGNATIC
Дата 30.10.2005, 23:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


..::Свирепый Кодер::..
**


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

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



у меня древовидноя БД с неогрониченым уровнем вложености
тоесть у раздела может быть куча подразделов а у подразделов тоже могут быть подразделы и так далее
всё это отоброжается в тривиеве (вопрос не в отоброжении )
типа
раздел1
-- раздел2
---- раздел3
-- раздел4
раздел5
хранится это всё в таблице Tree структура её такая
Name-имя раздела
ID - ключивое поле
ParentID - ID родителя тоесть головнова раздела)
и вот возник вопрос как удалять раздел так чтобы и все его подразделы и подразделы подразделов удалились
ведь их может быть бесчётное кол-вл
или одним даже SQL запросм типа
DELETE FROM Tree WHERE ID in (SELECT ID FROM Tree WHERE ParentID in (здесь ещё чё-то))
ни каких постороних компонентов прошу не предлогать =)

PM MAIL   Вверх
NatikB
Дата 5.1.2006, 19:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



PM MAIL   Вверх
AKN
Дата 18.9.2006, 15:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



FRAGNATIC, почитай на http://gsbelarus.com/gs/modules.php?name=N...int&sid=314


все вроде нормально описано
PM MAIL   Вверх
Akella
Дата 22.9.2006, 14:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

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



делай всё напрямую, через MemTable-это всё равно что кушать черер попу

вот форма

Добавлено @ 14:07 
главное - это заполнить дерево
для этого нужно 2 поля
ID и Parent_ID
принцип такой - заполняй сначала самый первый уровень, а при раскрытии уровня подгружай его "детей"

Присоединённый файл ( Кол-во скачиваний: 117 )
Присоединённый файл  SuperMarket.rar 61,60 Kb
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Базы данных и репортинг"
Vit
Петрович

Запрещено:

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

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


Обязательно указание:

1. Базы данных (Paradox, Oracle и т.п.)

2. Способа доступа (ADO, BDE и т.д.)


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

FAQ раздела лежит здесь!


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

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


 




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


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

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