![]() |
|
![]() ![]() ![]() |
|
santilaas |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 322 Регистрация: 28.8.2005 Где: Блага Репутация: нет Всего: нет |
Народ, кто-нибудь работал с древовидными таблицами с помощью EhLib. Как я понял используются компоненты DBGridEh и MemTableEh!? А как их связать, чтобы все работало как надо?
-------------------- [ |
|||
|
||||
Dynamic |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 372 Регистрация: 5.7.2004 Где: Салехард Репутация: 2 Всего: 15 |
-------------------- Было бы о чем молчать, а уж что сказать – всегда найдется... |
|||
|
||||
Dimyan |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 441 Регистрация: 12.1.2004 Где: Новосибирск Репутация: нет Всего: 4 |
santilaas, вам не кажется что делфёвый компанент EhLib должен обсуждатся в теме делфи ну никак не СУБД InterBase/FireBird?!
Это сообщение отредактировал(а) Dimyan - 24.4.2006, 08:12 -------------------- Как хорошо ничего не делать, а потом еще немного отдохнуть :) |
|||
|
||||
santilaas |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 322 Регистрация: 28.8.2005 Где: Блага Репутация: нет Всего: нет |
Я конечно, извиняюсь, что не туда залез, но я уверен, что именно здесь мне хоть как-то да помогут. Ведь многие из тех, кто работает с СУБД InterBase/FireBird, используют EhLib-ы.
И коль уж я здесь, может кто поможет. А насчет этой ссылки:http://www.delphikingdom.com/asp/viewitem.asp?catalogid=488 - мне нужно именно через EhLib-ы. Это сообщение отредактировал(а) santilaas - 28.4.2006, 15:45 -------------------- [ |
|||
|
||||
santilaas |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 322 Регистрация: 28.8.2005 Где: Блага Репутация: нет Всего: нет |
Firebird 1.5, FibPlus5.2
В общем, методом "научного тыка" я дошёл вот до чего: Есть таблица иерархического типа:
В DataModule для этой таблицы поместил и связал DataSetPrimer и DataSourcePrimer (в общем это как обычно). На самой форме поместил: DataSetDriverEh (
Да кстати,DataSetPrimer и MemTableEh активизирую при событии onCreate формы Вопрос: Как теперь на этой форме организовать добавление, изменение и у даление записей??? Когда ставлю, соответственно MemTableEh.Append, MemTableEh.Edit, MemTableEh.Delete, все как-то странно работает, удалять-то удаляет, вот только у меня после удаления срабатывает триггер, удаляющий все дочерние узлы удаляемого объекта - а в DBGridEh-е это не отображается - только после перезапуска приложения. При добавлении, изменении другой косяк - чисто визуально всё добавляет (притом там, где нужно), но при переходе на другую строку (т.е. при попытке запостить запись), приложение просто тупо закрывается, а данные никуда не сохраняются. - ПРИЧЁМ это происходит, что называется, и в Design-time(Delphi6 просто отрубется) и run-time (отрубается приложение) Помогите, люди добрые, мож что не так ставлю - надеюсь кто-нибудь работал с этими компонентами. Это сообщение отредактировал(а) santilaas - 1.5.2006, 07:02 -------------------- [ |
|||
|
||||
Dynamic |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 372 Регистрация: 5.7.2004 Где: Салехард Репутация: 2 Всего: 15 |
В статье описывается пример отображения для любого грида, в т.ч. и DBGridEh (с мемтабле не работал, поэтому ничего про него не скажу) -------------------- Было бы о чем молчать, а уж что сказать – всегда найдется... |
|||
|
||||
santilaas |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 322 Регистрация: 28.8.2005 Где: Блага Репутация: нет Всего: нет |
В общем я более менее разобрался с MemTableEh
Единственное чего не могу догнать - это как сделать следующее: Добавляю запись в DBGridEh (связанный с DataSource (а он связан с MemTableEh)) методом Append; и новая запись как бы добавляется в конец списка, независимо от того на каком родителе стоял указатель, затем указываю код родителя и запись устанавливается на нужное место в иерархии. Вопрос: как сделать, чтобы запись изначально ставилась в ветке родителя? -------------------- [ |
|||
|
||||
Dynamic |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 372 Регистрация: 5.7.2004 Где: Салехард Репутация: 2 Всего: 15 |
здесь как минимум 2 варианта:
1. Добавлять запись в БД и сразу же вставлять в нужное место дерева 2. Добавлять запись, запоминать ее ID, перестроить дерево заново и спозиционировать на ID -------------------- Было бы о чем молчать, а уж что сказать – всегда найдется... |
|||
|
||||
santilaas |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 322 Регистрация: 28.8.2005 Где: Блага Репутация: нет Всего: нет |
- варианты наметить не проблема - проблема, - как сделать, чтобы пустая строка, выделяемая под новую запись, вставала сразу под родителем (т.е. той записью, на которой был указатель до нажатия кнопки), как это сделать? По-любому надо какое-то свойство поставить или строчку кода написать! НО Что именно писать? Решение должно быть по-любому, и думаю - простое. Какие будут идеи? -------------------- [ |
|||
|
||||
Dynamic |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 372 Регистрация: 5.7.2004 Где: Салехард Репутация: 2 Всего: 15 |
Попробуй Insert -------------------- Было бы о чем молчать, а уж что сказать – всегда найдется... |
|||
|
||||
santilaas |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 322 Регистрация: 28.8.2005 Где: Блага Репутация: нет Всего: нет |
Да уж, как говорится: "а слона я и не приметил".
Делаю вставку, а про Insert даже не подумал. Так что спасибо, Dynamic ![]() Теперь новая строка под запись добавляется, но не под родителем, а над ним - но это уже так сделан MemTableEh (когда в Design-time добавляю,- запись также ставится над родителем) - значит чтобы запись добавлялась под родителем - это уже вопрос к разработчикам и сопроводителям EhLib, - они надеюсь бывают на форуме.?! -------------------- [ |
|||
|
||||
Dynamic |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 372 Регистрация: 5.7.2004 Где: Салехард Репутация: 2 Всего: 15 |
-------------------- Было бы о чем молчать, а уж что сказать – всегда найдется... |
|||
|
||||
Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 29 Всего: 329 |
для построения дерева нужно использовать MemTableEh
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: Базы данных и репортинг" | |
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами Обязательно указание: 1. Базы данных (Paradox, Oracle и т.п.) 2. Способа доступа (ADO, BDE и т.д.)
FAQ раздела лежит здесь! Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |