| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > 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 секунд Если какие-то моменты не понятны, спросите, поясню. |