| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > Как можно связать TTreeView с базой? |
| Автор: Chuck 11.11.2004, 21:38 | ||||
| Добрый день! Вот решил написать электронный учебник! Выглядеть он будет так! Слева TreeView, справа компонент TWebBrowser (это очень скупой описание, на самом деле там будет админовская часть для редактирования разделов и статей) ! Все статьи будут храниться в базе MS Access, но, изучив (возможно, не полностью) TTreeView, я столкнулся с проблемой редактирования, удаления разделов! Проще скажу - не могу связать TTreeView с базой, точнее таблицей разделов! Немного о базе, точнее о её структуре! Я решил не описывать все таблицы, и все поля, опишу лишь те, что представляют важность для данного вопроса! И так:
Вот вроде все с базой! Теперь вопрос! Как мне можно связать TTreeView с базой? Есть два моих варианта! 1. Созадть запись типа
Тут будет при выборе раздела в TreeView производится поиск по записи с таким же именем, и по нему узнаваться id, раздела! 2.Индексировать разделы не по уникальному id, а по имени, но, IMHO, глупо! Кто что посоветует!??? Vit, если не сложно, посоветуйте что-нибудь, Вы ведь работаете с факом, а там тот же принцип! |
| Автор: p0s0l 11.11.2004, 23:11 | ||||||
| У каждого нода (элемента) TreeView есть свойство Data - в нём и храни id... там можешь хранить всю необходимую инфу для идентификации раздела/темы... Добавляй в TreeView например так:
Или у уже добавленного нода присваивай:
Потом, чтобы узнать Id выбранной темы:
PS: (добавлено позднее, после Вита) похоже, что я неправильно понял суть вопроса |
| Автор: Vit 11.11.2004, 23:58 | ||||
Древовидные базы данных из реляционных делаются добавлением поля - ссылки на родительский узел. Например дерево:
Кодируется в таблице:
|
| Автор: Chuck 12.11.2004, 12:15 |
| 2p0s0l Спасибо, именно это мне и нужно было!!! 2Vit, спасибо, я так и предполагал хранить, проблема была в хранение индекса у TreeView, только, может, я не правильно описал, я как раз не знал, можно ли отдельному ноду, или поддереву задавать как-то id? Спасибо p0s0l-у!!! |