Страница 1 из 1
Изменения начала нумерации
Добавлено: 21 мар 2012, 11:53
uptrance2day
Как программным способом из C# скинуть начала нумерации на определенное число? до какого момента это нужно сделать после рендера или перед?
пытался сделать так stiReport1.PageNumber = 20 , начинает всё равно с единицы
у меня происходит склейка из нескольких отчётов в один (
ссылка), и получается что нумерация на каждом своя, может есть способ перенумеравать все страницы в итоговом отчёте?
спасибо
Изменения начала нумерации
Добавлено: 22 мар 2012, 09:35
Ivan
Здравствуйте.
Начать нумерацию с определенного числа нельзя.
Один из простых вариантов решения задачи - с помощью скрипта пробежаться по страницам полученного суммарного отчета и в нужных текстбоксах расставить номера страниц заново.
Например, разместите следующий код в событии EndRender отчета:
Код: Выделить всё
int pagesCount = this.RenderedPages.Count;
for (int index = 0; index < pagesCount; index++)
{
StiPage page = this.RenderedPages[index];
foreach (StiComponent comp in page.Components)
{
if (comp.Name == "ВашКомпонентНомерСтраницы")
{
StiText textComp = comp as StiText;
textComp.Text = string.Format("Страница {0} из {1}", index + 1, pagesCount);
}
}
}
Другой вариант - добавить все отчеты с данными в коллекцию SubReports главного отчета (делается только из вашего кода), тогда они все отрендерятся вместе с правильной нумерацией.
Спасибо.
Изменения начала нумерации
Добавлено: 22 мар 2012, 10:15
uptrance2day
ок, ваш вариант устроит, спасибо
Изменения начала нумерации
Добавлено: 23 мар 2012, 08:07
Andrew
Здравствуйте.
Всегда рады помочь Вам.
Спасибо.