Нумерация страниц при пакетной печати

Обсуждение Stimulsoft Reports.NET
Ответить
Леонид
Сообщения: 329
Зарегистрирован: 23 июл 2009, 09:53
Откуда: Moscow

Нумерация страниц при пакетной печати

Сообщение Леонид »

День добрый, уважаемые!

Интересует такая вещь. При печати пакета документов (т.е. к примеру, накладная, счёт-фактура и т.д.).
Каждый отчёт - соответственно в отельном blob'е в базе, и при выводе на печать они объединяются следующим образом:

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

  for (int j = 0; j < repCount; j++)
    stiReport.SubReports.Add(CreateReport(connectionString, repBody, reportVars), true, false);

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

CreateReport() просто загружает блоб (тело отчёта) из БД по коду отчёта. 
Так вот. При этом в каждом отчёте в PageFooter'е стоит текст: Страница № {PageNumber} из {TotalPageCount}, который
печатается Страница № 1 из -1, Страница № 2 из -1, Страница № 3 из -1 и т.д.

А мне нужно, чтобы нумерация каждого отчёта (несмотря на то, что они "склеены") начиналась с единицы.

Смысл этого всего в том, чтобы в разной последовательности выводить разные документы в необходимом количестве, т.е. например,
сначала идут 2 накладные ТОРГ-12, затем одна счёт-фактура и т.д. Соответственно каждый документ должен иметь свою нумерацию,
всегда начинающуюся с единицы.
Aleksey
Сообщения: 2907
Зарегистрирован: 22 апр 2010, 06:57

Нумерация страниц при пакетной печати

Сообщение Aleksey »

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

В данном случае вам лучше использовать RenderedPages.Add() вместо SubReports.Add().
Посмотрите для примера следующий код:

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

            StiReport newreport = new StiReport();
            newreport.RenderedPages.Clear();
            newreport.NeedsCompiling = false;
            newreport.IsRendered = true;
            
            for (int i = 1; i < repCount; i++)
            {
                StiReport rep = new StiReport();
                rep.Load(repArray[i]);
                rep.Render();
                foreach (StiPage repPage in rep.RenderedPages)
                {
                    repPage.Report = newreport;
                    newreport.RenderedPages.Add(repPage);
                }
            }
            newreport.Show();
Спасибо.
Леонид
Сообщения: 329
Зарегистрирован: 23 июл 2009, 09:53
Откуда: Moscow

Нумерация страниц при пакетной печати

Сообщение Леонид »

Всё заработало! :biggrin: Просто класс!
Огромное спасибо за помощь!
Aleksey
Сообщения: 2907
Зарегистрирован: 22 апр 2010, 06:57

Нумерация страниц при пакетной печати

Сообщение Aleksey »

ОК! Замечательно!

Всегда рады помочь.
Ответить