2009-11-19 3 views
0

Я использую приложение Crystal Report Viewer в приложении ASP.NET. На экране просмотра отображаются номера страниц по линиям «1/1+», где динамически рассчитывается 1+. Я бы хотел, чтобы оно отображало правильное общее количество страниц с самого начала, а не 1+. Есть ли способ сделать это?Crystal Report Просмотр номеров страниц

ответ

2

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

Редактировать -

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

+0

Спасибо Дасти. Просто добавление страницы N из M и подавление ее будет иметь желаемый эффект. – Craig

0

Двигатель страницы Crystal Report делает разделы первой страницы как можно быстрее, чтобы дать представление о производительности. Возможно, вы быстро заметили визуальные значения полей, с помощью держателей мест (пробелов) для подписок и других ресурсоемких объектов. Когда механизм рендеринга завершает обработку этих объектов, держатели места заменяются значениями.

Сводка нумерации страниц аналогична. Сначала элемент управления навигацией будет читать «1+», но будет увеличиваться, когда движок страницы отобразит дополнительные страницы. Когда весь отчет будет отображаться, навигационное управление и поле N N M отобразят общее количество страниц.

Если вы настаиваете на изменении пользовательского опыта, вы можете использовать событие BeforeRender или BeforeRenderContent Viewer для установки событий HasPageNavigationButtons = False и AfterRender или AfterRenderContent в HasPageNavigationButtons = True.

Я не уверен, что вы сможете сделать что-то подобное с полем Page-N-of-M.

0

У вас есть свойство, называемое TotalPageCount. Если вы укажете, что в вашем отчете будут отображаться номера страниц правильно. Например, у меня есть поле формулы, такое как ToText (PageNumber, 0) + "/" + ToText (TotalPageCount, 0), чтобы отображать текущую страницу из общих страниц.