Как реализовать Дерево?

отредактировано 16:32 Раздел: FastReport 4.0
Доброго времени всем.
Насущно возник вопрос как можно реализовать компонент отображения дерева в диалоговой форме.
Очень нужно.
Конкретнее нужно в дереве штатной структуры организации как условие выбирать то или иное подразделение с его вложениями

Комментарии

  • отредактировано 16:32
    Kirill написал: »
    Доброго времени всем.
    Насущно возник вопрос как можно реализовать компонент отображения дерева в диалоговой форме.
    Очень нужно.
    Конкретнее нужно в дереве штатной структуры организации как условие выбирать то или иное подразделение с его вложениями
    А какое отношение это имеет к теме форума? :)
  • Stalker4Stalker4 123
    отредактировано 16:32
    Kirill написал: »
    Доброго времени всем.
    Насущно возник вопрос как можно реализовать компонент отображения дерева в диалоговой форме.
    Очень нужно.
    Конкретнее нужно в дереве штатной структуры организации как условие выбирать то или иное подразделение с его вложениями
    А в чем проблема ? Я такое делал на основе DBGridEh+MemTableEh (режим TreeListView). У меня пользователь в предпечатном диалоге FR выбирал нужные ветки с типави документов и дополнял их данным для печати. Все введенные пользователем настройки сохраняются в memini в БД.
  • отредактировано 16:32
    broom написал: »
    А какое отношение это имеет к теме форума? :)
    Прямое имеет отношение, если не понятно
  • отредактировано 16:32
    [Дерево нужно реализовать в диалоговой форме отчета, наподобие lookupcombobox, не затрагивая код приложения
  • отредактировано 16:32
    Ну, и в чем же проблема?

    Предположим, Ваш источник данных возвращает последовательно записи с двумя полями:

    1. Номер уровня
    2. Текст

    Создаем страничку, на нее бросаем датабенд, подключаем его к источнику данных.
    На датабэнд бросаем TfrxMemoView.
    Текст "положите" в TfrxMemoView, а в OnBeforePrint датабэнда определяйте его смещение в соответствии с текущим значением <Номер уровня>
    Дополнительно (точно так же, в соответствии с стекущим значением <Номер уровня>) можно рисовать линии - ветви дерева.

    Перед формированием отчета покажите диалог с деревом, в котором пользователь выберет корневой узел.
  • отредактировано May 2008
    Это все непременно нужно делать в диалоге именно отчета? Внутри автономного отчета? В дизайнере FR таких компонентов сейчас нет. Если эту самую диалоговую форму всё же делать в приложении, можно использовать стандартный дельфийский класс TTreeView.
  • отредактировано 16:32
    broom написал: »
    Это все непременно нужно делать в диалоге именно отчета? Внутри автономного отчета? В дизайнере FR таких компонентов сейчас нет. Если эту самую диалоговую форму всё же делать в приложении, можно использовать стандартный дельфийский класс TTreeView.
    Да в том то и дело что в диалоге автономного отчета ( только), Решил заняться и написать свой компонент.
  • отредактировано 16:32
    Kirill написал: »
    Да в том то и дело что в диалоге автономного отчета ( только), Решил заняться и написать свой компонент.
    Дело-то хорошее, и, наверное, полезное... Только, честно говоря, не понимаю я этого. По функциональности - монопенисуально, откуда диалог вызвать - из приложения или изнутри отчета. Пользователь программы, в принципе, и не различит. А лишний гемор на многострадальную обеспечен... :)
  • отредактировано 16:32
    broom написал: »
    Дело-то хорошее, и, наверное, полезное... Только, честно говоря, не понимаю я этого. По функциональности - монопенисуально, откуда диалог вызвать - из приложения или изнутри отчета. Пользователь программы, в принципе, и не различит. А лишний гемор на многострадальную обеспечен... :)
    У меня отчеты плодятся по нескольку за день, причем запросы бывают настолько бредовые и не предсказуемые..... и что мне каждый раз компилить? а у меня юзверя сидят по областям. А так я отчетик сделал автономный файлик его лежит в блобе в базе и все его видят, поменял в одном месте что то обновил и у всех красота и мне спокойно, а из приложения это не подходит. Я уже чего только не передумал

Оставить комментарий

Многофункциональный текстовый редактор. Чтобы отредактировать стиль параграфа, нажмите TAB, чтобы перейти к меню абзаца. Там вы можете выбрать стиль. По умолчанию не выбран ни один стиль. Когда вы выберете текст, появится встроенное меню форматирования. Нажмите TAB, чтобы войти в него. Некоторые элементы, такие как многофункциональные вставки ссылок, картинок, индикаторов загрузки и сообщений об ошибок могут быть вставлены в редактор. Вы можете перемещаться по ним, используя стрелки внутри редактора и удалять с помощью клавиш delete или backspace.