Отображение данных в подвале страницы и подвале отчета

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

Есть источник данных "Info", который возвращает 1 запись.
В шаблоне отчета есть три бэнда:
- заголовок отчета
- данные
- подвал отчета

При размещении текстовых полей в заголовке отчета и в данных все отображается корректно, а в подвале отчета поля получаются пустые.
Так должно быть?

Я понимаю такую логику, но мне кажется, что в более ранних версиях такой вариант работал...

Комментарии

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

    Строго говоря, размещать поля источника данных надо только на дата-бэнде. Во всех остальных местах состояние источника данных может быть неопределенным, т.к. его инициализация происходит при печати бэнда "Данные" либо при первой попытке напечатать данные. В Вашем случае происходит следующее:

    - при печати данных на заголовке источник данных не инициализирован. Эту ситуацию FastReport обрабатывает корректно, инициализируя источник.
    - при печати бэнда "Данные" все происходит в обычном порядке: инициализация источника и перебор записей, пока не достигнут конец данных.
    - в момент печати подвала источник данных находится в состоянии "EOF". Печатаются пустые данные.

    Однако, если включить двойной проход у отчета, данные перестанут печататься и на заголовке отчета. Т.к. в этот момент источник инициализирован и находится в состоянии EOF после первого прохода.

    В Вашем случае, если источник имеет только одну запись, разместите всю информацию на бэнде "Данные". Если нужно, добавьте к нему несколько дочерних (Child) бэндов.
  • отредактировано 13:51
    Все вроде как верно, только в VCL версии все работает в таком варианте...
    В Стимулсофте, кстати, тоже.
    И пользователей тоже понять можно. Запись всего одна и разместить поля в заголовке и подвале отчета вроде как логично.
  • отредактировано 13:51
    FastReport.Net сильно отличается от VCL версии, впрочем как и от Стимула. То, что Вы просите, можно сделать (теоретически), воткнув несколько глючных "костылей" в код (один там уже есть, для печати данных в заголовке). Извините, я этого делать не буду.
  • отредактировано 13:51
    AlexTZ написал: »
    FastReport.Net сильно отличается от VCL версии, впрочем как и от Стимула. То, что Вы просите, можно сделать (теоретически), воткнув несколько глючных "костылей" в код (один там уже есть, для печати данных в заголовке). Извините, я этого делать не буду.

    Нет, костылей не надо.
    Я просто хотел разобраться и ни в коем случае не прошу делать того, что испортит стройность системы.
    Спасибо за ответ.
  • отредактировано 13:51
    Если это очень нужно - используйте скрипт, который при старте страницы (Page.StartPage) инициализирует источник данных, подключенный к бэнду "Данные" (при этом учитывается фильтрация и сортировка, заданные в бэнде).

    private void Page1_StartPage(object sender, EventArgs e)
    {
    Data1.InitDataSource();
    }
  • отредактировано 13:51
    Большое спасибо.
    Вопрос закрыт.
  • отредактировано 13:51
    обычно в такой ситуации используем итоги, они без проблем выводятся в подвале отчета. В итогах указываем a качестве функции минимум или максимум (если указать сумму, получится длинная строка из нескольких одинаковых слов, если в бенде больше одной строки данных), дальше выбираем нужное поле и все.
  • отредактировано December 2009
    AlexTZ написал: »
    FastReport.Net сильно отличается от VCL версии, впрочем как и от Стимула.
    А в чем суть отличия?
    Если можно так выразиться, кто впереди, а кто плетется в хвосте?

    Разумеется, с вашей субъективной точки зрения, как человека, знающего все три продукта изнутри.
  • отредактировано 13:51
    А с чего Вы взяли, что я знаю все три продукта изнутри? Два из них да, знаю. Догадайтесь, какие :)
  • отредактировано December 2009
    AlexTZ написал: »
    А с чего Вы взяли, что я знаю все три продукта изнутри? Два из них да, знаю. Догадайтесь, какие :)
    Про VCL понятно.
    Но вы же все таки сказали о "сильном отличии и от Стимула".

    Я хотел бы от вас получить хоть какую то сравнительную оценку FR.NET и Stimul.NET.

    Поясните это как можете.
  • отредактировано 13:51
    Скажем так, сильное отличие на уровне структуры отчета бросается в глаза.
    От оценок воздержусь. Вы наверняка использовали оба продукта и сами сможете оценить, "кто кого". Составьте критичный для Вас список (как-то: удобство работы, цена, наличие нужных фич, ...) и вперед.
  • отредактировано December 2009
    Что бросается в глаза, так это то, что в инете доступна полная неломаная версия стимула, а у FR только попытки почистить демку.
    Это может говорить о разном.
    Либо то, что Стимул популярнее FR, либо что FR прочнее, и стало быть за популярностью не гонится в ущерб надежности и стабильности.

    Хотя ...
    Это может вообще ни о чем не говорить. :)

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

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