SQL Reporting - перевод количества страниц на уровень без заголовка - PullRequest
0 голосов
/ 27 октября 2009

SQL Reporting 2008 запрещает мне размещать переменные PageNumber и TotalPages (глобальные) на уровне данных; позволяет только их в верхнем и нижнем колонтитулах страницы. Но их значения идут рука об руку с данными. Так есть ли способ узнать номер страницы на уровне без заголовка?

Ответы [ 2 ]

1 голос
/ 27 октября 2009

Page, TotalPages и даже RecordCount - относительное понятие для БД.

Страница, на которой находится строка, зависит от порядка сортировки, времени (кто-то может вставить данные, таким образом, помещая все записи на одну или несколько строк) и модификации (так что soemone может обновить поле вашего ключа сортировки).

Так что я бы не сказал, что значения «PageNumber» и «TotalPages» связаны с данными, они связаны с запросом.

Разбиение по страницам данных вверх и вниз является тривиальным и детерминированным только в том случае, если ваш запрос может сделать своего рода снимок на основе вашего ключа. Там, где этот моментальный снимок невозможен, так как он слишком дорог для вычисления или слишком велик, чтобы поместиться в память, значение «PageNumber», связанного с элементом, начинается с размытия.


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

0 голосов
/ 27 октября 2009

Обратное верно; т. е. заголовок отчета может извлекать значения из данных, даже если не наоборот. Таким образом, я добавляю заголовок страницы, который просто извлекает значения из скрытых ячеек данных. Часть разбиения на страницы работает нормально, используя Globals.PageNumber и .TotalPages, а зависящая от данных динамическая часть той же строки заголовка номера страницы - =ReportItems!DynamicTitle.Value.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...