![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 27.06.2011
Сообщений: 4
|
![]()
Доброго времени суток!
Есть форма на которой размещены два компонента TDBGridEh,при запуске программы один из гридов отображает номенклатуру материалов не в форме таблицы с полями,а в форме дерева.Грид подтягивает номенклатуру материалов из таблиц SQL Server.Подскажите,есть ли возможность,двигаясь по дереву(раскрывая нужную ветвь) и выбирая определенный материал,добавлять новый,удалять ненужный,корректировать необходимый( имеется ввиду в пользовательском приложении). Подскажите,есть ли метод или свойство,применимое к дереву,чтобы при выборе можно было создать обработчик на даблклик мышки или при выделенной номенклатуре(в дереве) нажать на кнопкую Возможно это необъятная тема,но все-таки подскажите в каком направлении примерно идти,с какими компонентами работать. Спасибо большое за отклик. |
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 08.09.2010
Сообщений: 880
|
![]()
Полноценное отображение данных в виде дерева в DBGridEh возможно только с помощью компонента TMemTableEh (попытка отображать дерево любыми другими DataSet - лишь эмуляция, жалкое подобие дерева).
С TMemTableEh можно работать как с обычным DataSet. Вставлять, удалять, модифицировать, читать данные. Если умеете манипулировать TADOQuery, то ничего нового для решения указанных задач нет. В DBGridEh есть события и OnDblClick и OnKeyDown, в процедурах которых можно обрабатывать события от мыши и клавиатуры. Они не "применяются к дереву", а в них возможно записать код, который и будет управлять данными в TMemTableEh. DBGridEh только отображает данные из этого Dataset. |
![]() |
![]() |
![]() |
#3 |
Регистрация: 27.06.2011
Сообщений: 4
|
![]()
Доброго времени суток
Подскажите,что примерно прописывать в процедуре- обработчике для выбора в дереве на событие-onClick? Код:
Нужно использовать такую связку:TDBGridEh.TDataSourse.TMemTa bleEh ? Таблица,которая с которой работает дельфи имеет первичные id-ишные ключи и столбец с ключами-узлами родительских id-ишников (id_material - это первичный ключ таблицы в базе;id_parenet_material - номер указывающий на своего родителя id_material Примерно так получается: id_material || id_parenet_material || NameMaterial 1 || 0 || Металлы 2 || 1 || Черные металлы 3 || 2 || Сталь 4 || 3 || Сталь нержавеющая 5 || 4 || Обыкновенного качества 6 || 5 || DX2786 7 || 5 || DX2787 8 || 5 || QX3789 . || || . . 647 || 0 ||Неметаллы . . 669 ||647 ||Полистирол ) В запущенной программе эта таблица выводится в виде дерева. Подскажите способ работы с Гридом(TMemTableEh) Не совсем понятен механизм удаления,вставки и редактирования через дерево.Читал документацию по EhLib,но непонял,там почти нет кода,только описание свойств и методов,как и где именно их применять непонятно ![]() |
![]() |
![]() |
![]() |
#4 |
Регистрация: 27.06.2011
Сообщений: 4
|
![]()
Если вам не трудно посмотрите снимки приложения.
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
TDBGridEh и AlphaSkin | Andrey85 | Компоненты Delphi | 0 | 27.09.2010 23:12 |
MyDac (для MySQL) и EhLib(TDBGridEh) | Maxs | БД в Delphi | 0 | 13.12.2009 16:38 |
TDBCtrlsEh и TDBGridEh | chekanoff | Компоненты Delphi | 2 | 19.05.2008 15:05 |
TDBgridEh -не работает Сортировка | adminhl | БД в Delphi | 0 | 01.04.2008 20:40 |
Error --- Class TDBGridEh not found | shurik_7866 | Компоненты Delphi | 2 | 30.06.2007 11:09 |