Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Отчетные системы [игнор отключен] [закрыт для гостей] / RS. Нумерация страниц для каждой группы. / 6 сообщений из 6, страница 1 из 1
02.10.2006, 12:02
    #34025548
RSviewer
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
RS. Нумерация страниц для каждой группы.
День добрый все.

Создал отчет в Репортинг Сервере, где каждая группа выводится с новой страницы, но нумерация идет сквозная (глобальные переменные: PageNumber, TotalPage). Возможно ли сбрасывать счетчики этих переменных, что бы нумерация для каждой группы начиналась с 1?
...
Рейтинг: 0 / 0
03.10.2006, 18:19
    #34029727
tacit
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
RS. Нумерация страниц для каждой группы.
Ну, раз нет такого счетчика - так надо его создать!
На закладке "Code" ("Report Properties") создаем функцию, которая возвращает значение переменной, объявленной как Static (т.е. не обнуляющейся при перевызовах функции)
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
Function SetGrPageNum (ResetFlag as Boolean) as Integer
'Возвращаем номер страницы в группе
Static GrPageNum as Integer =  1 

If ResetFlag then
   GrPageNum =  1 
Else
   GrPageNum = GrPageNum + 1 
End If

Return GrPageNum 

End Function 
Теперь осталось обнулять (вернее "объеденичивать") зачение этой переменной в начале каждой группы. Для этого:
1. В свойствах группы в таблице ставим "Repeat break at end", что вызовет печать новой группы с новой страницы.
2. В таблицу добавляем поле (пусть наз-ся "txtPerGrNum"), в которое выводим номер записи в группе:
Код: plaintext
=RowNumber("table1_Group1")
Это поле можно скрыть, если оно не требуется в отчете
3. Теперь проверяем является ли запись в группе ПЕРВОЙ, и тогда "объеденичиваем" счетчик, иначе увеливчиваем его на 1. Для этого в Page Footer
вставляем textbox, в который помещает формулу:
Код: plaintext
1.
= "Страница по группе: " &  Iif(min(ReportItems!txtPerGrNum.Value)= 1 , Code.SetGrPageNum (True), Code.SetGrPageNum (False))
Вот, собственно, и все.
...
Рейтинг: 0 / 0
04.10.2006, 14:33
    #34031819
RSviewer
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
RS. Нумерация страниц для каждой группы.
tacitНу, раз нет такого счетчика - так надо его создать!Спасибо, заработало в RS2005, единственно пришлось изменить в формуле на :
Код: plaintext
... IIf(Min(ReportItems!txtPerGrNum.Value)<= 1  ... 
, иначе при отсутствии данных в данной группе, выводился номер страницы = 2, в RS2000 выдает ошибку, что невозможно использовать данную переменную в Footer.
...
Рейтинг: 0 / 0
04.10.2006, 15:04
    #34031980
tacit
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
RS. Нумерация страниц для каждой группы.
Ну. дык идея предлагалась на правах AS IS
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
14.06.2009, 19:46
    #36040442
mr.vetal
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
RS. Нумерация страниц для каждой группы.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
Function SetGrPageNum (ResetFlag as Boolean) as Integer
'Возвращаем номер страницы в группе
Static GrPageNum as Integer =  1 

If ResetFlag then
   GrPageNum =  1 
Else
   GrPageNum = GrPageNum + 1 
End If

Return GrPageNum 

End Function 

этот код работал только в вызовах с одной страницы. Работает вот так

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
Shared GrPageNum as Integer =  1 

Function SetGrPageNum (ResetFlag as Boolean) as Integer
'Возвращаем номер страницы в группе

If ResetFlag then
   GrPageNum =  1 
Else
   GrPageNum = GrPageNum + 1 
End If

Return GrPageNum 

End Function 


С ув. Виталий
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
18.02.2012, 11:46
    #37668315
kexby
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
RS. Нумерация страниц для каждой группы.
...
Рейтинг: 0 / 0
Форумы / Отчетные системы [игнор отключен] [закрыт для гостей] / RS. Нумерация страниц для каждой группы. / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]