![]() |
|
#1
|
||||
|
||||
![]() Доброго времени суток уважаемые форумчани
![]() Подскажите пожалуйста как вывести парадоксавскую таблицу при помощи treeView уже очень долго парюсь над этой задачей и разными способами проповал, но все что то никак не выходит ![]() Вот сама таблица пользователь.rar Состоит из полей(ИД, ФАМИЛИЯ, ПРЕДПРИЯТИЕ, ЦЕХ, ОТДЕЛ, Должность) 1 уровень ПРЕДПРИЯТИЕ 2 уровень ЦЕХ 3 уровень ОТДЕЛ 4 уровень ФАМИЛИЯ (Должность) Подскажите пожалуйста как быть ![]() |
#2
|
||||
|
||||
![]() Если можно то желательно с коментариями
![]() Заранее благодарен. |
#3
|
|||
|
|||
![]() Ну, для начала, неплохо было бы почитать о том, как проектировать БД. Т.е. твою одну таблицу надо привести к 3й НФ. Т.е. это должно быть 5 таблиц.
А выводить просто - тебе надо написать процку, которая будет находить нужный родительский узел, а потом просто добалять в него потомков. Для внутренней идентификации можно попробовать использовать свойство Data для указания типа узла (предприятие, отдел и т.д.). Если по простому, то где-то так: Код:
Код довольно "грязный" и не оптимальный, но идея должна быть понятна. |
#4
|
||||
|
||||
![]() А можно как нибудь на весь модуль глянуть?
![]() и желательно с комментариями ![]() Просто я новичек в этом деле и не все еще понимаю ![]() И еще вопросик, а без нормализации никак? прост в дальнейшем у каждого сотрудника необходимо будет вывести оборудование закрепленное за ним, а там уйма таблиц ![]() |
#5
|
|||
|
|||
![]() Да я только этот код то и написал. Даже не в дельфе, так что проверь именя свойств.
Без нормализации можно, но посуди сам. У тебя, например, 100 сотрудников. Так вот, у тебя будет повторено 100 раз название предприятия... А то, что будет еще 4 таблички - так это фигня, на самом деле. Вообще, уходи ты с этого парадокса... на FireBird, например. Но пример написан под существующую таблицу. Это просто отдельная фкнуция, так что ее просто надо вызвать в нужном месте. Из обязательности, только то, что дерево называется TreeView1, и то, можно переделать на параметр... |
#6
|
||||
|
||||
![]() Я люблю TreeView, очень хороший контрол.
А топикстартеру советую почитать вот эту 03088 статью в DRKB Некоторые программисты настолько ленивы, что сразу пишут рабочий код. Если вас наказали ни за что - радуйтесь: вы ни в чем не виноваты. |
#7
|
||||
|
||||
![]() Вообщем я реализовал следующим образом
Код:
подскажите где ошибся ![]() |
#8
|
||||
|
||||
![]() Никто не знает?
![]() |
#9
|
|||
|
|||
![]() Честно говоря, за такой код руки надо отрывать. И никто не хочет в нем разбираться. Я же тебе дал процедуры создания узлов дерева. Там просто проходишь по всем записям и вызываешь эту процку с соотв. параметрами. Она тебе дерево и построит.
|
#10
|
||||
|
||||
![]() Цитата:
Вообщем реализовал следующим образом: Код:
А Этот код тоже считается "ГРЯЗНЫМ"? ![]() |