работа с вложенными отчётами

fanfan
отредактировано 12:04 Раздел: FastReport .NET
Здравствуйте.

Такая проблемка. Есть список объектов (он же источник данных в отчете) List<Личные дела>. В нем есть содержится поле "номер личного дело" и вложенный источник данных "История наград", который содержит только награды каждого сотрудника, а также их дату присвоения и так далее. Мне нужно создать отчет, содержащий номер личного дела, а также список всех его наград и дату присвоения каждой награды. Подскажите пожалуйста вкратце как это сделать. Я так понимаю что надо использовать вложенный отчет. Но почему то не выходит.

Комментарии

  • отредактировано 12:04
    Здравствуйте,

    Это отчет типа master-detail.
    http://fast-report.com/documentation/UserM...ilrelations.htm
  • fanfan
    отредактировано 12:04
    я правильно понимаю что мне тогда нужно создать объект, связывающий номер личного дела и награды..а потом создать relation между этой созданной и главным источником Личные дела. Или если источники вложенные то relation уже создавать не надо?
  • отредактировано 12:04
    Иерархические источники связывать не надо. Просто делаете отчет с двумя вложенными дата-бэндами. Первому бэнду назначаете главный источник, второму - подчиненный.
  • отредактировано 12:04
    Кстати, пример такого отчета с аналогичным источником данных есть в демо, "Features/Business Objects".
  • fanfan
    отредактировано 12:04
    спасибо, а как нащет не вертикального а горизонтального расположения, то есть:

    Личное дело Награда Дата

    1 н1 д1

    2 н2 д2

    3 н3 д3
  • отредактировано 12:04
    Из этого примера не совсем понятно, что хотите получить в итоге. Можно подробнее?
  • fanfan
    отредактировано 12:04
    Описанная технология мастер- дитэил позволяет сделать следующее:

    N_личного_дела_1

    ( список наград этого сотрудника)
    .
    .
    .

    N_личного_дела_2

    ( список наград этого сотрудника.)
    .
    .и т д

    Мне же нужно так:


    N_личного_дела_1 список наград этого сотрудника
    .
    .
    .
    N_личного_дела_2 список наград этого сотрудника
    .
    .


  • fanfan
    отредактировано 12:04
    вобщем чтобы список наград, имеющий динамический размер, шел не под номером_дела а справа от него
  • отредактировано 12:04
    В какую сторону должен расти список наград? Вниз или вправо?
    Если вниз, перенесите поле N_личного_дела на подчиненный дата-бэнд, а главный вообще оставьте пустым.
    Если вправо, то нужно использовать объект "Таблица" и динамически формировать его (примеры есть в демо).
  • fanfan
    отредактировано 12:04
    Спасибо. Будем разбираться.
  • fanfan
    отредактировано 12:04
    Кажется получилось! благодарю!
  • отредактировано 12:04
    Если нужно скрывать повторяющиеся номера личного дела, смотрите здесь:
    http://fast-report.com/documentation/UserM...eatedvalues.htm
    Пример отчета в демо - Features/Duplicate Values.
  • отредактировано 12:04
    Здравствуйте!

    Подскажите, а как можно добавить ограничение на вложенный отчет?

    То есть:
    -у меня есть основной отчет, в котором данные берутся из DataTable1 и группируются по полю DataTable1.Field1
    -у меня есть вложенный отчет, входящий в подвал группы основного отчета.
    Данные для вложенного отчета получаются из DataTable2. Как мне ограничить вывод записей во вложенном отчете, чтобы выдавал только те записи, которые удовлетворяют условию DataTable2.Field1 ==DataTable1.Field1 ?
  • отредактировано 12:04
    Здравствуйте,

    Попробуйте настроить св-во Relation бэнда "Данные" во вложенном отчете (если между таблицами есть настроенная связь). Можно также использовать фильтр у бэнда "Данные":
    [DataTable2.Field1] == [DataTable1.Field1]
  • отредактировано 12:04
    С этим успел разобраться, но не успел написать сюда, чтобы не беспокоить. Извините!=)

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

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