![]() |
|
![]() ![]() ![]() |
|
MyNick |
|
|||
Новичок Профиль Группа: Участник Сообщений: 35 Регистрация: 20.9.2005 Репутация: нет Всего: нет |
подскажите плиз каким образом монжно связать DBGrid и TreeView, использую mssql, так же компоненты ADOConnection, DataSource и ADOQuery.
|
|||
|
||||
offline |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 474 Регистрация: 7.2.2005 Репутация: 7 Всего: 7 |
А что ты хочешь получить таким образом?
![]() |
|||
|
||||
MyNick |
|
|||
Новичок Профиль Группа: Участник Сообщений: 35 Регистрация: 20.9.2005 Репутация: нет Всего: нет |
хочу представить базу данных таким способом
TreeView для выбора пункта, а DBGrid для отображения данных... |
|||
|
||||
offline |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 474 Регистрация: 7.2.2005 Репутация: 7 Всего: 7 |
ну установи себе EHLib и наслождайся
![]() или почитай здесь http://www.delphikingdom.com/asp/viewitem..../dbtreeview.htm Это сообщение отредактировал(а) kirilllius - 13.10.2005, 13:29 |
|||
|
||||
MyNick |
|
|||
Новичок Профиль Группа: Участник Сообщений: 35 Регистрация: 20.9.2005 Репутация: нет Всего: нет |
EHLib то я ставил тока со свойствами DBGridEh не получилось разобраться, а документацию по нему на русском найти не удалось...
|
|||
|
||||
offline |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 474 Регистрация: 7.2.2005 Репутация: 7 Всего: 7 |
документация есть на русском и стоит кажись 500 р.
![]() |
|||
|
||||
MyNick |
|
|||
Новичок Профиль Группа: Участник Сообщений: 35 Регистрация: 20.9.2005 Репутация: нет Всего: нет |
а конкретнее как с помощь его реализовать древовидную структуру...
Добавлено @ 14:14 так вот то то и оно..) |
|||
|
||||
MyNick |
|
|||
Новичок Профиль Группа: Участник Сообщений: 35 Регистрация: 20.9.2005 Репутация: нет Всего: нет |
подскажите плиз как хоть установить взаимосвязь компонентов и подключить к базе...
![]() |
|||
|
||||
offline |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 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 |
|||
|
||||
MyNick |
|
|||
Новичок Профиль Группа: Участник Сообщений: 35 Регистрация: 20.9.2005 Репутация: нет Всего: нет |
как к самой базе подключить то понятно
именно не получается связать все это в кучу... может причина в том что голова сеня уже соображать никак не хочет) спасибо за помощь, если чего еще обращусь) |
|||
|
||||
Vet |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 101 Регистрация: 24.2.2005 Репутация: нет Всего: нет |
MyNick, если у тебя есть EHLib, то для начала надо было посмотреть Demos'ы и посмотреть, как там реализовано дерево в DBGridEh'e. По-моему, там даже что-то было на русском написано
![]() |
|||
|
||||
MyNick |
|
|||
Новичок Профиль Группа: Участник Сообщений: 35 Регистрация: 20.9.2005 Репутация: нет Всего: нет |
первым делом в Demos'ы и полез) нашел там то что хотелось бы реализовать у себя, но к сожалению по русски там ниче нет а с ковырянием вот проблемы возникли....
|
|||
|
||||
offline |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 474 Регистрация: 7.2.2005 Репутация: 7 Всего: 7 |
посмотри здесь
...\EhLib\AdvTech\MemTableEh\readme_rus.rtf
Это сообщение отредактировал(а) kirilllius - 13.10.2005, 17:28 |
|||
|
||||
Vet |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 101 Регистрация: 24.2.2005 Репутация: нет Всего: нет |
В каталоге MemTableEh файл readme_rus.rtf, правда толку от него мало. Если инфы по-русски нет, то только ковыряние и поможет
![]() |
|||
|
||||
offline |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 474 Регистрация: 7.2.2005 Репутация: 7 Всего: 7 |
Vet
А яего не ковырял, а немного посмотрел ![]() |
|||
|
||||
Vet |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 101 Регистрация: 24.2.2005 Репутация: нет Всего: нет |
Это же легко проверить. Создаем тестовую таблицу с 3-мя полями: ID, PARENT_ID, VALUE. Если изменять в гриде, изменения сохраняются для поля VALUE. PARENT_ID же не изменяется |
|||
|
||||
offline |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 474 Регистрация: 7.2.2005 Репутация: 7 Всего: 7 |
Создать то можно, просто возиться не охота
![]() ![]() |
|||
|
||||
MyNick |
|
|||
Новичок Профиль Группа: Участник Сообщений: 35 Регистрация: 20.9.2005 Репутация: нет Всего: нет |
EhLib\AdvTech\MemTableEh\readme_rus.rtf у меня почему то нет...если не сложно вышлине на мыло..
как я понял TMemTableEh тока формирует данные в табличном виде, а каким образом он связывается с DBGrigEh и отображает их? |
|||
|
||||
MyNick |
|
|||
Новичок Профиль Группа: Участник Сообщений: 35 Регистрация: 20.9.2005 Репутация: нет Всего: нет |
если все у вас просто получается то объясните мне какие компоненты кидать на форму, какие свойства у кого как выставить, что б они наконец то связались все в кучу...
![]() |
|||
|
||||
offline |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 474 Регистрация: 7.2.2005 Репутация: 7 Всего: 7 |
Давай мыло
|
|||
|
||||
MyNick |
|
|||
Новичок Профиль Группа: Участник Сообщений: 35 Регистрация: 20.9.2005 Репутация: нет Всего: нет |
||||
|
||||
offline |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 474 Регистрация: 7.2.2005 Репутация: 7 Всего: 7 |
берешь ADOConnection1 и подключаешься к базе в которой должны бать три обязательных поля. Названия полей не важны, например:
ID - Числовое поле ID_PARENT - Числовое поле Name - строковое поле затем ADOTable1 и подключаешься к базе и выбираешь таблицу. затем DataSetDriverEh1 в KeyFilds имя ключевого поля указываешь ID ProviderDataSet = ADOTable1 Затем MemTableEh1 в DataDriver = DataSetDriverEh1 забыл еще ![]() DataSource1 в DataSet = MemTableEh1 DBGridEh1 в DataSource = DataSource1 и в
при создании ветви в ID заносишь ее номер, а в ID_PARENT заносишь номер ветви родителя, если родителя нет, то ставишь 0 И самое главное, что бы сохранить изменения в таблице используй MemTableEh1.ApplyUpdates, а то все изменения теряются, когда программа закрывается, т.к. они хранятся в таблице памяти. Это сообщение отредактировал(а) kirilllius - 14.10.2005, 10:24 |
|||
|
||||
MyNick |
|
|||
Новичок Профиль Группа: Участник Сообщений: 35 Регистрация: 20.9.2005 Репутация: нет Всего: нет |
спасибо большое буду разбераться
сделал все как написал никаких проблем не возникло... теперь надо DBGrid осваивать) |
|||
|
||||
Vet |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 101 Регистрация: 24.2.2005 Репутация: нет Всего: нет |
По-моему, древовидная структура в гриде не очень-то и нужна
![]() |
|||
|
||||
offline |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 474 Регистрация: 7.2.2005 Репутация: 7 Всего: 7 |
ну кому как, но я тоже не приветствую
![]() |
|||
|
||||
MyNick |
|
|||
Новичок Профиль Группа: Участник Сообщений: 35 Регистрация: 20.9.2005 Репутация: нет Всего: нет |
а где она приветствуется?)
|
|||
|
||||
Vet |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 101 Регистрация: 24.2.2005 Репутация: нет Всего: нет |
В дереве
![]() |
|||
|
||||
offline |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 474 Регистрация: 7.2.2005 Репутация: 7 Всего: 7 |
но дерево к гриду замучаешься клеить
![]() |
|||
|
||||
MyNick |
|
|||
Новичок Профиль Группа: Участник Сообщений: 35 Регистрация: 20.9.2005 Репутация: нет Всего: нет |
эх...
поставил еще Quantum Grid но вот с связкой блин никак разобраться не могу... покажите плиз наконец то как Grid связывается с таблицей и как же все таки отобразить данные в виде дерева... ![]() |
|||
|
||||
offline |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 474 Регистрация: 7.2.2005 Репутация: 7 Всего: 7 |
А что с EhLib не получилось?
|
|||
|
||||
Vet |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 101 Регистрация: 24.2.2005 Репутация: нет Всего: нет |
MyNick, Ehlib не понравился
![]()
Кидаешь на форму компоненты: DataSource, DataSet которого = ADOTable1 и cxDBTreeList, разворачиваешь свойство DataController, указываешь свой DataSource, выбираешь KeyField и ParentField. Дальше открываешь редактор Bands/Columns cxDBTreeList'a, добавляешь поля TcxDBTreeListColumn. У каждого TcxDBTreeListColumn'а в свойстве DataBinding.FieldName выбираешь имя поля таблицы ADOTable1 |
|||
|
||||
MyNick |
|
|||
Новичок Профиль Группа: Участник Сообщений: 35 Регистрация: 20.9.2005 Репутация: нет Всего: нет |
а что за компонент cxDBTreeList?
|
|||
|
||||
MyNick |
|
|||
Новичок Профиль Группа: Участник Сообщений: 35 Регистрация: 20.9.2005 Репутация: нет Всего: нет |
кстати хотел выразить благодарность за собранный материал в DRKB ver. 2.3, много полезной информации там нашел
![]() |
|||
|
||||
Vet |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 101 Регистрация: 24.2.2005 Репутация: нет Всего: нет |
Из ExpressQuantumTreeList, а у тебя что - ExpressQuantumGrid?
|
|||
|
||||
MyNick |
|
|||
Новичок Профиль Группа: Участник Сообщений: 35 Регистрация: 20.9.2005 Репутация: нет Всего: нет |
ага понятно получилось
а с помощью чего можно редактировать количество и содержимое столбцов в запущенной программе и естественно что б данный сохранялись в базу и еще как связать лист с гридом что бы он отображал содержимое соотвествующей строки в листе.... ![]() ![]() |
|||
|
||||
MyNick |
|
|||
Новичок Профиль Группа: Участник Сообщений: 35 Регистрация: 20.9.2005 Репутация: нет Всего: нет |
при чем насколько понимаю данные должны выбираться с другой таблица и выводится в гриде, получается надо кинуть еще одну table и один DataSource и насторить на них grid , а вот как связать list с grid связать пока не понял...
|
|||
|
||||
Vet |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 101 Регистрация: 24.2.2005 Репутация: нет Всего: нет |
А что получилось? Компонент-то какой у тебя - cxDBTreeList? Вопросы задавай поконкретнее ![]() |
|||
|
||||
Guest |
|
|||
Unregistered |
да компонент именно cxDBTreeList, просто не нашел у него свойства DataController , по смыслу понял потом что это DataSource) а вопросы пока остаются прежними.Необходимо что бы одна таблица была связана с cxDBTreeList а другая с Grid и установить их взаимосвязь (при выборе в листе отображаются данные с другой таблице в гриде)
|
|||
|
||||
Vet |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 101 Регистрация: 24.2.2005 Репутация: нет Всего: нет |
Я так понял, в cxDBTreeList у тебя отображаются данные главной таблицы, в "Grid" - подчиненной. Значит, надо в Grid.DataSource.DataSet указать MasterSource = cxDBTreeList.DataController.DataSource.DataSet
![]() ![]() |
|||
|
||||
MyNick |
|
|||
Новичок Профиль Группа: Участник Сообщений: 35 Регистрация: 20.9.2005 Репутация: нет Всего: нет |
таблица взаимосвязать получилось теперь вопрос заключается в следующем
почему не получается редактировать данные в treelist и как разделить столбцы grid -а на подстолбцы?) |
|||
|
||||
Vet |
|
||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 101 Регистрация: 24.2.2005 Репутация: нет Всего: нет |
Сложна сказать, все должно редактироваться, тем более если отображаются данные из таблицы, а не запрос какой-нибудь. Попробуй все удалить и сделать все сначала ![]() ![]()
|
||||
|
|||||
offline |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 474 Регистрация: 7.2.2005 Репутация: 7 Всего: 7 |
Он говорит о том, как двум столбцам сделать один заголовок, т.е. как это DBGridEh делает. |
||||
|
|||||
Vet |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 101 Регистрация: 24.2.2005 Репутация: нет Всего: нет |
А,так надо заглянуть в свойство Position нужных столбцов, свойство BandIndex. После двойного щелчка на компоненте ты попадаешь в редактор, в котором 2 вкладки - Bands и Columns. Каждый столбец находится в определенной Band'e. Вот и создай столько Band, сколько нужно и для каждого столбца задай Position.BandIndex
|
|||
|
||||
FRAGNATIC |
|
|||
![]() ..::Свирепый Кодер::.. ![]() ![]() Профиль Группа: Участник Сообщений: 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 (здесь ещё чё-то)) ни каких постороних компонентов прошу не предлогать =) |
|||
|
||||
NatikB |
|
|||
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 4.1.2006 Репутация: нет Всего: нет |
||||
|
||||
AKN |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 97 Регистрация: 11.11.2005 Репутация: нет Всего: нет |
FRAGNATIC, почитай на http://gsbelarus.com/gs/modules.php?name=N...int&sid=314
все вроде нормально описано |
|||
|
||||
Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 29 Всего: 329 |
делай всё напрямую, через MemTable-это всё равно что кушать черер попу
вот форма Добавлено @ 14:07 главное - это заполнить дерево для этого нужно 2 поля ID и Parent_ID принцип такой - заполняй сначала самый первый уровень, а при раскрытии уровня подгружай его "детей" Присоединённый файл ( Кол-во скачиваний: 117 ) ![]() |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: Базы данных и репортинг" | |
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами Обязательно указание: 1. Базы данных (Paradox, Oracle и т.п.) 2. Способа доступа (ADO, BDE и т.д.)
FAQ раздела лежит здесь! Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |