Страница 1 из 1

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

Добавлено: 01 сен 2010, 06:16
Леонид
День добрый, уважаемые!

Интересует такая вещь. При печати пакета документов (т.е. к примеру, накладная, счёт-фактура и т.д.).
Каждый отчёт - соответственно в отельном 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, затем одна счёт-фактура и т.д. Соответственно каждый документ должен иметь свою нумерацию,
всегда начинающуюся с единицы.

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

Добавлено: 01 сен 2010, 10:50
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();
Спасибо.

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

Добавлено: 02 сен 2010, 12:02
Леонид
Всё заработало! :biggrin: Просто класс!
Огромное спасибо за помощь!

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

Добавлено: 02 сен 2010, 14:12
Aleksey
ОК! Замечательно!

Всегда рады помочь.