Теперь давайте рассмотрим функции Crystal Reports for Visual Studio .NET для кешированных отчетов. Перетащите разработчик компонентов ReportDocument на плоскость разработки ViewReport.aspx и выберите ProjectName.CustomersBasic из Name: комбинированного списка в диалоговом окне Choose a ReportDocument, не нажимая кнопку OK. Обратите внимание на флажок "Generate cached strongly typed report" ("Создать кешированный строго типизированный отчет") (см. рис.11).
Рис. 11 Функция кешированных отчетов
Установите этот флажок. Щелкните по кнопке OK и назовите созданный компонент как ccbMain. Затем, свяжите элемент управления просмотра с этим объектом в событии Page_Load с помощью следующей строки программы:
cvwMain.ReportSource = ccbMain
Перетащите элементы управления Data Time и Print Time в раздел заголовка страницы отчета. Эти элементы управления можно найти в окне Field Explorer под узлом Special Fields. Затем запустите приложение и просмотрите отчет. Когда вы его запустите в первый раз, элементы управления Data Time и Print Time должны быть одинаковыми (или же очень похожими). Но если вы обновите страницу, то увидите, что Print Time продолжает обновляться, а Data Time остается одним и тем же. Теперь скопируйте текущий адрес URL обозревателя в буфер обмена и закройте обозреватель. Откройте окно нового обозревателя и вставьте в него указанный адрес URL для просмотра отчета в новом сеансе (без перестройки сборки из Visual Studio .NET). Вы увидите, что исходная временная метка будет отображаться в Data Time.
Теперь закройте обозреватель и вернитесь в Visual Studio .NET. Снова перетащите дизайнер компонентов ReportDocument на плоскость разработки ViewReport.aspx и выберите ProjectName.CustomersBasic, сняв флажок "Generate cached strongly typed report". Щелкните по кнопке OK и назовите созданный компонент как "cbsMain". После завершения данной операции свяжите элемент управления просмотра с созданным объектом в событии Page_Load, внеся в программу имя нового компонента: