Databand как Header

Обсуждение Stimulsoft Reports.NET
Ответить
Edvard
Сообщения: 40
Зарегистрирован: 02 дек 2008, 21:34
Откуда: Minsk

Databand как Header

Сообщение Edvard »

Добрый день.

Возникла следующая проблема.
Требуется выводить одинаковые данные на каждой странице отчета в качестве заголовка.
Т.е. как бы поместить Databand на PageHeader. Но этого сделать не получается.
Как же это должно быть сделано?

Aleksey
Сообщения: 2907
Зарегистрирован: 22 апр 2010, 06:57

Databand как Header

Сообщение Aleksey »

Здравствуйте,

Не могли бы вы описать вашу задачу немного подробнее.
А так же, если возможно, прислать пример отчета с тестовыми данными для анализа.

Спасибо.

Edvard
Сообщения: 40
Зарегистрирован: 02 дек 2008, 21:34
Откуда: Minsk

Databand как Header

Сообщение Edvard »

Здравствуйте.

Тут тестовые данные вам ни к чему. Создавать их довольно утомительно.
Речь не о баге. Нужна идея.

Есть такой отчет. Находится во вложении. В нем все работает, кроме одного.
Содержимое Databand dbComments выводится только на первой странице. А на остальных страницах его нет. Мне нужно, чтобы он повторялся на всех страницах.Так же как повторяется содержимое PageHeaderBand1 на всех страницах.
Ради этого повторения там я наворотил ChildBand1 и Container1. Но эти два последних не дают эффекта. Что с ними что, без без них записи из dbComments выводятся однократно.

В этом и вопрос. Как же дублировать на всех страницах Databand dbComments ?
Вложения
rptProductionScheduleUS.mrt
(33.57 КБ) 278 скачиваний
Aleksey
Сообщения: 2907
Зарегистрирован: 22 апр 2010, 06:57

Databand как Header

Сообщение Aleksey »

Здравствуйте,

В данном случае, если у источника данных CommentsData только одна запись, то вы можете просто расположить данные на Pageheader-е, без компонента Databand(будет всегда отображаться только первая запись из истоника). Если записей несколько, то, в данном случае, можно использовать переменные, в которые занести необходимые данные и их разместить в хэдере.

Спасибо.

Edvard
Сообщения: 40
Зарегистрирован: 02 дек 2008, 21:34
Откуда: Minsk

Databand как Header

Сообщение Edvard »

В источнике CommentsData несколько записей. И сколько именно, заранее неизвестно. От нуля до десяти.
Соответственно оба способа не проходят. По правде говоря, я уже пробовал это.
Более того, сейчас отчет как бы автономный. Из основного приложения никаких данных, кроме ConnectionString не получает.Хотелось бы, чтобы он и дальше оставался таким.

Aleksey
Сообщения: 2907
Зарегистрирован: 22 апр 2010, 06:57

Databand как Header

Сообщение Aleksey »

Здравствуйте,

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

Спасибо.
Вложения
SampleReport.mrt
(21.68 КБ) 302 скачивания
Edvard
Сообщения: 40
Зарегистрирован: 02 дек 2008, 21:34
Откуда: Minsk

Databand как Header

Сообщение Edvard »

Добрый день.
Спасибо за пример.
Но к сожалению я не смог его его изучить т.к. у меня старая версия StimulReports от 2007г. На новую начальство все никак не раскрутится. Когда я открываю этот файл в своем дизайнере, то он не понимает какой компонент расположен на странице первым. Пишет Undefunite и соответственно не работает.

Я, вроде, нашел решение ч\з задницу. Оно мне сильно не нравится, но кое-как работает.
Суть решения такова. Обрабатывается событие dbComments.AfterPrintEvent таким образом.

Код: Выделить всё

if (txtHeaderComments.TextValue=="")
{
	{txtHeaderComments.TextValue =CommentsData.TrailerComments;}
}
else
{
	txtHeaderComments.TextValue=txtHeaderComments.TextValue + "\n" + CommentsData.TrailerComments;
}
Изначально, поле txtHeaderComments расположеное на PageHeader1, пустое.
При печати на первой странице из dbComments происходит накопление строк в txtHeaderComments.
И на последующих страницах печать идет уже из txtHeaderComments.

Получается как на скриншоте ниже.
Может быть посоветуете, что тут можно сделать правильнее.
Вложения
1.jpg
1.jpg (98.27 КБ) 2716 просмотров
rptProductionScheduleUS.mrt
(34.13 КБ) 289 скачиваний
Aleksey
Сообщения: 2907
Зарегистрирован: 22 апр 2010, 06:57

Databand как Header

Сообщение Aleksey »

Здравствуйте,

В вашей версии, как вариант, вы можете использовать следующее решение:
- на PageHeader-е разместить контейнер на который положить датабэнд с dbComments,
- установить свойство CanGrow в true,
- в событии BeforePrint страницы использовать следующий код:
dbComments.First()

Спасибо.
Ответить