Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Базы данных > [C++ Builder <MySQL>] Древовидная структура GridEh


Автор: Wisdom 8.2.2010, 18:39
Ситуация такая: использую связку: DBGridEh + DataSource + MemTableEh + DataSetDriverEh + ADOTable. Компоненты указаны в порядке связывания. Последнее звено ADOTable связан с ADOConnection. СУБД MySQL. Имеется таблица в которой данные расположены в виде иерархии. Т.е., например, поле IDX - автоинкремент, следующее поле FKIDX - рекурсивная ссылка на саму же таблицу и третий столбец - простые значения 0 и 1, 0 - значение выбрано, 1 - нет. Всё просто. 
Проблема вот в чем.. При подключении компонентов так: DBGridEh + DataSource + ADOTable (т. е. без MemTableEh + DataSetDriverEh) древовидная структура в DBGridEh не отображается, но нормально работают чекбоксы. Если же подключить первоначальную связку 
(DBGridEh + DataSource + MemTableEh + DataSetDriverEh + ADOTable) при выставлении очередного чекбокса значение внешнего ключа, если оно было NULL устанавливается в произвольное значение. Опытным путем вычислил, что дело в MemTableEh, видимо там есть какое-то свойство, которое автоматом заполняет внешний ключ данной таблицы при его апдейте.. может быть добрые люди подскажут - какое это свойство?.. Я уже измучался, не знаю в какую сторону копать :(  Структуру БД в норме - обычными запросами\процедурами всё инсертится нормально, без  MemTableEh  тоже, но ведь нужно именно древовидное отображение данных в Grid'e.. 
Заранее премного благодарен за помощь!

Добавлено через 56 секунд
Если какие-то моменты не понятны, спросите, поясню.  smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)