Как я могу исправить количество групп на каждой странице SSRS - PullRequest
0 голосов
/ 04 февраля 2019

У меня есть отчет, который отображает 6 групп (по 5 строк в каждой группе) информации.Отчет имеет некоторый фильтр, который может быть изменен пользователем.Когда первый раз отчет загружается без какого-либо фильтра, его рендеринг страницы в средстве просмотра отчетов и на странице «Печать» идеален, но когда фильтры добавляются в информацию отчета, это становится необычным.

Простое объяснение, приведенное на изображении ниже:

enter image description here

Может кто-нибудь предложить что-нибудь, чтобы исправить количество строк/ группы на каждой странице?

1 Ответ

0 голосов
/ 10 февраля 2019

Я предоставлю два метода решения проблемы

(1) Постарайтесь предотвратить расширение текстовых полей

Я предполагаю, что вы показываете отчетпараметры (фильтры) , как указано в следующей ссылке:

Затем необходимо установить для свойства CanGrow значение False на панели свойств текстового поля, как указано в следующей статье:

enter image description here

Также убедитесь, что свойство Allow height to increase не отмечено в свойствах текстового поля Диалоговое окно

enter image description here

Полезные ссылки:

(2) Предел thКоличество строк на странице

При поиске по этой проблеме я нашел следующее решение, которое можно использовать в качестве обходного пути для распределения строк по страницам:

Вы можетеукажите ограничение количества строк на странице с условным подходом.Если это первая страница, то 10 (2 группы) в качестве примера, а для других страниц 15 (3 группы) .

Вы должны следоватьэти шаги:

  1. Перейдите к Report >> Report Properties >> Code, в разделе Custom Code введите следующее:

    Public Function PageNumber() as String
        Dim str as String
        str = Me.Report.Globals!PageNumber.ToString()
        Return str
    End Function
    
    Public Function TotalPages() as String
        Dim str as String
        str = Me.Report.Globals!TotalPages.ToString()
        Return str
    End Function
    
  2. Теперь создайте свою группу с разрывом страницы, как показано ниже в выражении SSRS:

    = IIf ( CInt(Code.PageNumber()) = 1, Ceiling((RowNumber(Nothing)) / 10), Ceiling((RowNumber(Nothing)) / 15) )
    

Результат будет похож на следующее изображение:

enter image description here

Ссылки и полезные ссылки

(3) Обновление на основе комментариев OP

Еще один способ сохранить строки группы на одной странице - установитьKeep together свойство истины:

Row_Group >> Properties >> Keep together = True.
...