none
Общее количество страниц RRS feed

  • Вопрос

  • Отчёт представляет собой таблицу с позициями некоего документа, количество позиций может быть сколь угодно велико, то есть должно происходить разбиение на страницы. В конце каждой страницы должны присутствовать итоги по странице, а на последней странице должна существовать итоговая сводка по содержимому отчёта, в состав которой кроме всего прочего входит общее количество страниц, занимаемого документом в распечатанном виде.В общем, стандартные требования, аналогичные отчёты уже были выполнены в Crystal Report.

    Естесственым решением стало размещение промежуточных итогов и сводки в секции Page Footer, причём итоги по странице  - внутри одного DataRegion типа Rectangle  с видимостью на всех, кроме последней страницы, а сводка - внутри друого Rectangle с указанием видимости для Rectangle только на последней странице.

    В итоге при предварительном просмотре отчёта для печати, итоговая сводка, хоть и не отображается на первых страницах, всё равно занимает место в layout-е документа, а поскольку она длинная по высоте, выглядит всё это хоязйство донельзя криво.

    В похожем отчёте, проблема была решена тем, что сводка была помещена в раздел Table Footer (таблица с позициями только одна), при этом получилось даже лучше, поскольку сводка печатается не в самом низу страницы, а сразу за таблицей(хотя это не принципиально). В данном случае, такой финт не проходит, поскольку SSRS не позволяет использовать переменные типа Globals!TotalPages в теле отчёта.

    Итак, подскажите пожалуйста, есть ли возможноcть сделать одну из двух вещей:

    1. Использовать Globals!TotalPages в теле отчёта (секция Body)
    2. Сделать невидимым DataRegion Rectangle так, чтобы он не занимал места в общем layout-е отчёта при печати ?

    Заранее благодарен.

Ответы

  • 1. Таковой возможности нет.

    2. Если Rectangle всё равно в том или ином виде должен быть виден на странице, я бы сделал его единственным, а текст внутри него - зависящим от того, последняя это страница или нет.

    Примерно так: = Iif(Globals!PageNumber = Globals!TotalPages, "Всего страниц: " & Globals!TotalPages & ", Итого по документу...", "Страница №" & Globals!PageNumber & " Итоги по странице...")

    4 июня 2007 г. 11:35