Поделиться через


Пошаговое руководство. Использование источника данных базы данных с серверным веб-элементом управления ReportViewer в режиме локальной обработки

В этом пошаговом руководстве показано, как создать отчет для веб-узла ASP.NET в Microsoft Visual Studio 2008 и добавить элемент управления ReportViewer на веб-страницу, чтобы пользователи могли просмотреть отчет.

Предварительные требования

Для использования этого пошагового руководства необходим доступ к образцу базы данных AdventureWorks. Дополнительные сведения см. в разделе Пошаговое руководство. Установка базы данных AdventureWorks.

Также необходим доступ к серверу, где работают службы Microsoft IIS версии 5.0 или более поздней, и разрешения на создание веб-страницы ASP.NET.

Выполните на компьютере следующие шаги, чтобы с помощью шаблонов Visual Studio 2008 создать веб-страницу ASP.NET с элементом управления ReportViewer, настроенным для просмотра создаваемого отчета. Для этого примера приложение создается на Microsoft Visual Basic.

Создание нового веб-узла

  1. В меню Файл выберите пункт Создать, а затем выберите пункт Веб-узел.

  2. В диалоговом окне «Создание веб-узла» выберите пункт Веб-узел ASP.NET.

  3. В списке Язык выберите Visual Basic и нажмите кнопку ОК.

  4. В поле Расположение выберите пункт HTTP (если он еще не выбран) и нажмите кнопку Обзор, чтобы перейти в новую папку.

  5. В диалоговом окне Выбор расположения выберите вариант Локальные службы IIS и перейдите в корневой каталог веб-узла.

  6. Нажмите кнопку «Создать веб-приложение», чтобы создать новую папку, и введите имя. Нажмите клавишу ВВОД.

  7. Нажмите кнопку Открыть.

  8. Нажмите кнопку ОК.

    Откроется проект веб-узла с веб-страницей Default.aspx.

  9. Убедитесь, что файл Default.aspx выделен в обозревателе решений.

  10. В меню Вид выберите команду Конструктор.

    Теперь все готово к изменению страницы веб-узла по умолчанию.

Определение подключения к данным и таблицы DataTable путем добавления набора данных

  1. В меню Веб-узел выберите пункт Добавить новый элемент.

  2. В окне Добавление нового элемента выберите категорию Набор данных. Нажмите кнопку Добавить. Когда появится сообщение о добавлении элемента в папку App_Code, нажмите кнопку Да. К проекту будет добавлен новый XSD-файл, DataSet1.xsd, откроется конструктор наборов данных, и будет запущен мастер настройки TableAdapter.

  3. На странице Выбор подключения к данным, если база данных AdventureWorks устанавливалась с помощью SQLExpress, в списке может присутствовать существующее подключение sqlexpress.AdventureWorks.dbo, которое можно выбрать и перейти к шагу 6. В противном случае нажмите кнопку Создать соединение.

  4. В окне Источник данных выберите значение Microsoft SQL Server (SqlClient).

  5. В окне Имя сервера введите имя сервера, где расположен образец базы данных AdventureWorks. Например, экземпляр SQL Server Express по умолчанию имеет имя (local)\sqlexpress. После ввода имени сервера выберите AdventureWorks из раскрывающегося списка баз данных и нажмите кнопку ОК.

  6. Нажмите кнопку Далее.

  7. На странице Сохранение строки соединения в файл конфигурации приложения введите имя строки соединения или подтвердите имя по умолчанию — AdventureWorksConnectionString. Нажмите кнопку Далее.

  8. На странице Выбор типа команд выберите пункт Использовать инструкции SQL. Убедитесь, что не выбраны другие переключатели.

  9. На странице Ввод инструкции SQL введите следующий запрос Transact-SQL, чтобы получить данные из базы данных AdventureWorks, а затем нажмите кнопку Готово. Также можно нажать кнопку Построитель запросов, чтобы использовать построитель запросов для создания запроса, и проверить его с помощью кнопки Выполнить запрос.

    SELECT d.Name as Dept, s.Name as Shift, e.EmployeeID as EmployeeID
    FROM (HumanResources.Department d
    INNER JOIN HumanResources.EmployeeDepartmentHistory e
        ON d.DepartmentID = e.DepartmentID)
    INNER JOIN HumanResources.Shift s
        ON e.ShiftID = s.ShiftID
    

    Если запрос не возвращает ожидавшиеся данные, возможно, используется более ранняя версия AdventureWorks. Дополнительные сведения об установке версии AdventureWorks для SQL Server 2005 см. в разделе Пошаговое руководство. Установка базы данных AdventureWorks.

  10. На странице Выбор методов для создания примите параметры по умолчанию в разделе Заполнение DataTable, указав Имя методаFill, и Возвращение DataTable, указав Имя методаGetData. Нажмите кнопку Далее.

  11. На странице Результаты работы мастера нажмите кнопку Готово.

    Настройка объекта ADO.NET DataTable в качестве источника данных для отчета завершена.

  12. На странице конструктора наборов данных в Visual Studio должен присутствовать добавленный объект DataTable (имя по умолчанию — DataTable1), где перечислены результирующие столбцы для определения запроса. В меню Данные можно выбрать команду Предварительный просмотр данных, а затем нажать кнопку Просмотр, чтобы проверить результаты запроса.

Создание отчета

  1. В меню Веб-узел выберите пункт Добавить новый элемент.

  2. В диалоговом окне Добавление нового элемента выберите шаблон «Отчет», введите имя для файла отчета и нажмите кнопку Добавить. Будет создан файл определения отчета (имя по умолчанию — Report.rdlc), запустится конструктор отчетов и откроется область Источники данных веб-узла.

  3. Откройте Область элементов. Щелкните элемент «Текстовое поле», а затем щелкните в области конструктора отчета.

  4. Введите в текстовое поле заголовок отчета: # of Employees per Shift per Dept. При необходимости разверните текстовое поле.

  5. Перетащите элемент отчета Матрица из Области элементов в отчет, расположив его под текстовым полем. Точечный белый фон — это страница отчета. Чтобы изменить расположение матрицы на странице, выберите матрицу, щелкнув ее левый угол, и переместите в нужном направлении с помощью клавиш со стрелками.

  6. В окне Источники данных веб-узла разверните узел DataTable1, пока не станут видны столбцы из запроса. Перетащите столбец Dept в текстовое поле Rows в первом столбце второй строки матрицы.

  7. Перетащите столбец Shift в текстовое поле Columns во втором столбце первой строки матрицы. Выберите текстовое поле и в окне Свойства задайте для свойства TextAlign значение Right. Щелкните в текстовом поле, чтобы активировать панель инструментов Форматирование отчета, и нажмите кнопку Полужирный.

  8. Выберите матрицу, щелкнув в любом ее месте. Щелкните правой кнопкой мыши и выберите матрицу по имени (по умолчанию — matrix1). Вокруг элемента матричного отчета появится контур. Щелкните правой кнопкой мыши структуру и выберите пункт Свойства. Убедитесь, что открылось диалоговое окно с заголовком Свойства матрицы.

  9. Перейдите на вкладку Группы. В разделе Столбцы нажмите кнопку Изменить.

  10. В окне Сортировка и группирование перейдите на вкладку Сортировка.

  11. Щелкните в первом поле под полем «Выражение», чтобы активировать текстовое поле. Из раскрывающегося списка выберите значение =Fields!Dept.Value. В результате данные отчета будут отсортированы по названию отдела. Нажмите кнопку ОК.

  12. Чтобы закрыть диалоговое окно Свойства матрицы, нажмите кнопку ОК.

  13. Перетащите поле EmployeeID из окна Источники данных веб-узла в текстовое поле Данные во втором столбце второй строки матрицы. Щелкните это текстовое поле правой кнопкой мыши и выберите пункт Выражение.

  14. Замените заданную по умолчанию статистическую функцию Sum на Count. Нажмите кнопку ОК.

  15. Чтобы закрыть диалоговое окно Свойства текстового поля, нажмите кнопку ОК.

  16. В меню Файл выберите команду Сохранить все.

Добавление элемента управления ReportViewer в приложение

  1. В окне Обозреватель решений щелкните правой кнопкой мыши файл Default.aspx и выберите пункт Конструктор представлений.

  2. Откройте окно Область элементов. Перетащите элемент управления ReportViewer из группы Данные на страницу.

  3. Откройте панель смарт-тегов Задачи ReportViewer, если она еще не открыта. Для этого щелкните треугольник в правом верхнем углу элемента управления ReportViewer на веб-странице. В поле Выберите отчет выберите полное имя файла для Report.rdlc.

    После выбора отчета автоматически создаются экземпляры источников данных, используемых в отчете. Формируется код для создания экземпляра каждого объекта DataTable (с контейнером DataSet) и элемента управления ObjectDataSource, соответствующего каждому источнику данных, используемому в отчете. Эта система управления версиями данных настраивается автоматически.

NoteПримечание.

Сведения о том, почему ASP.NET использует элемент управления ObjectDataSource, а не SqlDataSource, хотя лежащий в основе источник данных может быть базой данных или другим строго типизированным хранилищем данных, см. в разделе Создание источников данных для отчета.

Построение и запуск приложения

  1. Нажмите клавиши CTRL+F5, чтобы запустить страницу с отладкой, или клавишу F5 для запуска без отладки.

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

    Веб-страница открывается в обозревателе. В элементе управления ReportViewer отображается отчет. С помощью панели инструментов можно перемещаться по отчету, изменить масштаб или выполнить экспорт в Excel.

  2. Закройте обозреватель.

См. также

Справочник

Microsoft.Reporting.WinForms.ReportViewer.Drillthrough
Microsoft.Reporting.WinForms.LocalReport.SubreportProcessing
Microsoft.Reporting.WebForms.ReportViewer.Drillthrough
Microsoft.Reporting.WebForms.LocalReport.SubreportProcessing

Понятия

Использование панели смарт-тегов для задач ReportViewer

Другие ресурсы

Образцы и пошаговые руководства