|
19 Кб. |
|
| ничего не могу поделать...ну не догоняю я этот элемент
пересмотрел кучу примеров и литературы
толком ничего не описано
часть примеров не работает у меня, а в работающих так все понакручено, что не могу понять, с чего начинать разбираться...
вот набрался наглости и решил все же на форуме попросить устроить мне ликбез
я даже не стал вопрос связывать со своей разработкой, а просто набросал пример для структуирования книг (каталог книг, или библиотека если угодно...)
создал 3 таблички - Жанр, Автор и Название произведения..
ну и форму с элементом TreeView
дальше продвинуться хочу с вашей помощью
научите пожалуйта
про родителей, деток рассказывать не нужно, это я уже понял
мне бы на основе моих таблиц построить дерево, пока без всяких наворотов типа контекстного меню, подсветки и т.п.
ну вот собственно пока все..
спасибо | |
|
| |
|
17 Кб. |
|
| 1. посмотрите здесь
http://hiprog.com/forum/read.php?id_forum=1&id_theme=3661&page=1
там я писал по поводу необходимости наличия 2 таблиц для работы с древовидной структурой данных
2. теория по построению дерева здесь
http://hiprog.com/index.php?option=com_content&task=view&id=218
3. см.аттач. | |
|
| |
|
30 Кб. |
|
| Ну и от меня.
Специально сделал каждый уровень отдельно.
Вопросы задавать сюда. | |
|
| |
|
|
|
| OSMOR не могу окрыть Ваш пример - у меня Аксес2000 - требует более новую версию.
нельзя ли выложить пример для А-2000
Очень хочется посмотреть | |
|
| |
|
30 Кб. |
|
| Преобразовал в формат 2000 файл OSMORа | |
|
| |
|
|
|
|
| Добрый день! Можешь подсказать, где скачать TreeView control бесплатно.
Заранее спасибо! | |
|
| |
|
|
|
| Так он устанавливается вместе с Access. На панели элементов в режиме конструктора формы выбрать кнопку "Другие элементы" - "Microsoft TreeView Control 6.0", ссылка на библиотеку должна подключиться автоматом. | |
|
| |
|
28 Кб. |
|
| osmor спасибо
пока все понятно
повесил все это на загрузку формы
вопрос:
я не могу скомпилировать код
ругается на строку
Private rscFields As rscRecordSource
|
в модуле класса clsFillingTree, хотя все работает
как исправить ситуацию, а то я ж не смогу всю свою базу скомпилировать
выдает сообщение
Compile error:
Ambiguous name detected: rscRecordSource
|
прикрепляю урок к форуму | |
|
| |
|
|
|
| Извиняюсь....
модули лишние... случайно импортировались.
Весь код находится в форме. Все модули на закладке "модули" можно (нужно) удалить. | |
|
| |
|
|
|
| А кнопочки - для каких целей
Первый уровень (жанр)
Второй уровень (авторы)
Уровень три (Книги) | |
|
| |
|
|
|
| Кнопочки сделал специально, что бы было понятнее | |
|
| |
|
|
|
| ну это мне osmor по кусочку разжевывает и в рот кладет | |
|
| |
|
|
|
| Я тоже сижу жую.....
А почему кнопочки ругаются? | |
|
| |
|
|
|
| не знаю...
у меня не ругались
вот сижу, готовлю следующий вопрос osmor-у | |
|
| |
|
|
|
| У меня все три матерятся
key is not unique in collection. | |
|
| |
|
|
|
| ааа...
ты возьми самый первый файл от osmor-а, и понажимай кнопки
первое нажатие ругаться не будет
повторное - ругается
поскольку я код уже повесил на загрузку формы, то, собственно гря, кнопки уже не нужны, поскольку дерево уже построено | |
|
| |
|
|
30 Кб. |
|
| osmor, скажи пожалуйста
с чего лучше начать?
собственно у меня на данном этапе 2 вопроса
1 - это научиться добавлять в TreeView новые ветки
или
2 - использовать TreeView в качестве подчиненной формы
первый вопрос он как бы общего характера, а вот второй интересует применительно к моей базе (собственно я и создал тему ведь не ради факультативного интереса)
применительно к рассматриваемому примеру, создал ряд библиотек - Библиотека1, Библиотека2 и т.п. в которых находятся наши книги (с древовидной структурой)
пример прикрепляю
удалил кнопки (посколку мы поняли как они работают), код висит на загрузке формы и саму форму использую в качестве подчиненной
п.с. если дерево сохранить в раскрытом виде, то выскакивает ошибка как у ЧАС-а
т.е. нужно дерево как-то так сделать, чтобы оно при открытии было всегда свернуто... | |
|
| |
|
|
|
| что-тоне понял
мы же уже научились добавлять новые ветки....
Дерево заполняется один раз, если нужно его перезаполнить, то сначала его нужно очистить.
может есть смысл добавить библиотеки как верхний уровень дерева? | |
|
| |
|
|
|
| эммм-м-м...
нет, задача у меня использовать дерево именно в качестве подчиненной формы
для чего мне это нужно, попробую объяснить
у меня (вернее в моей базе) есть список фирм (большой список), передвигаясь по которому, я должен видеть, какие заказы были у того или иного клиента
а почему я хочу понять, как работать с TreeView, так это для того, чтобы была наглядность для моих юзеров
Ведь у клиента может быть как "одиночный заказ" - сделали листовку ему и все, а может быть и комплексный - сделали листовку и согнули ее пополам( сфальцевали), а может и состоять из 10 операций - напечатали, согнули, посадили на скрепку, заламинировали, покрыли лаком и т.д.
При древовидной структуре получим наглядность заказов клиента - сразу будет видно где заказ одиночный, а где комплексный, ведь я смогу сформировать заказ и под него воткнуть все работы...
поэтому в прикрепленном последнем примере я ввел понятие Библиотека, чтобы передвигаясь по списку библиотек (а применительно к моей разработке - передвигаясь по списку клиентов), видеть наглядно - в какой библиотеке какие книги (или у какого клиента какие заказы)
ну а добавлять ветки - так это научиться добавлять их на самом дереве (уж не знаю как лучше - по контекстному меню или по какой-либо кнопочке рядом с деревом..)
| |
|
| |
|
37 Кб. |
|
| понятно.
Ну вот можно так.
Хотя конечно разумнее делать рекурсией
т.е. добавляется узел, а потом к нему все дочерние.
Сдесь сделал по другому, дерево строится по уровням. Сделал кнопку добавления книги.
Функцию заполнения дерева вынес в модуль.
Прошу не рассматривать как образец стиля программирования, это пример работы с деревом нацеленный на максимально понимаемый код. | |
|
| |
|
|
|
| osmor спасибо!
буду разбираться | |
|
| |
|
|
|
| osmor еще раз спасибо
вижу и понимаю ход твоих мыслей (не понимаю только как это у тебя получается...)
у меня остался еще один общий вопрос, попробую его сформулировать завтра
и много частных вопросов, но это уже по ходу применения полученных знаний к своей разработке | |
|
| |
|
|
|
| OSMOR не могу окрыть Ваш последний пример - у меня Аксес2000 - требует более новую версию.
нельзя ли выложить (преобразовать) последний пример для А-2000. Плиз
Очень хочется посмотреть | |
|
| |
|
36 Кб. |
|
| можно. | |
|
| |