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

Создал отчет в Репортинг Сервере, где каждая группа выводится с новой страницы, но нумерация идет сквозная (глобальные переменные: PageNumber, TotalPage). Возможно ли сбрасывать счетчики этих переменных, что бы нумерация для каждой группы начиналась с 1?
...
Рейтинг: 0 / 0
RS. Нумерация страниц для каждой группы.
    #34029727
tacit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну, раз нет такого счетчика - так надо его создать!
На закладке "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
RS. Нумерация страниц для каждой группы.
    #34031819
RSviewer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
tacitНу, раз нет такого счетчика - так надо его создать!Спасибо, заработало в RS2005, единственно пришлось изменить в формуле на :
Код: plaintext
... IIf(Min(ReportItems!txtPerGrNum.Value)<= 1  ... 
, иначе при отсутствии данных в данной группе, выводился номер страницы = 2, в RS2000 выдает ошибку, что невозможно использовать данную переменную в Footer.
...
Рейтинг: 0 / 0
RS. Нумерация страниц для каждой группы.
    #34031980
tacit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну. дык идея предлагалась на правах AS IS
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
RS. Нумерация страниц для каждой группы.
    #36040442
mr.vetal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: 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
Период между сообщениями больше года.
RS. Нумерация страниц для каждой группы.
    #37668315
kexby
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Отчетные системы [игнор отключен] [закрыт для гостей] / RS. Нумерация страниц для каждой группы.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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