Пошаговое руководство. Использование источника данных бизнес-объекта с серверным веб-элементом управления ReportViewer в режиме локальной обработки
В этом пошаговом руководстве показано, как использовать источник данных объекта в отчете в приложении ASP.NET, создаваемом в Microsoft Visual Studio 2008. Дополнительные сведения о бизнес-объектах и источниках данных объектов см. в разделе Binding to Business Objects.
Чтобы добавить отчет к проекту веб-узла ASP.NET в Visual Studio, выполните следующие шаги. Для этого примера приложение создается на Microsoft Visual C#.
Создание нового проекта веб-узла ASP.NET
В меню Файл выберите пункт Создать, а затем выберите пункт Веб-узел.
В диалоговом окне Создание веб-узла выберите Visual C# из раскрывающегося списка Язык, а затем выберите шаблон веб-узла ASP.NET.
В разделе «Расположение» выберите вариант HTTP и введите URL-адрес веб-узла. Адрес по умолчанию — https://localhost/WebSite. Нажмите кнопку ОК. В редакторе кода откроется веб-страница по умолчанию.
Создание бизнес-объектов для использования в качестве источника данных
Выберите веб-узел проекта в обозревателе решений (адрес начинается с http://). Щелкните узел правой кнопкой мыши и выберите команду Добавить новый элемент.
В диалоговом окне Добавление нового элемента выберите Класс, введите имя файла BusinessObjects.cs и нажмите кнопку Добавить.
Когда появится сообщение с вопросом «**Поместить класс в папку App_Code?**», нажмите кнопку Да. Новый файл добавляется к проекту и автоматически открывается в Visual Studio.
Замените код по умолчанию в файле BusinessObjects.cs следующим кодом:
using System; using System.Collections.Generic; // Define the Business Object "Product" with two public properties // of simple datatypes. public class Product { private string m_name; private int m_price; public Product(string name, int price) { m_name = name; m_price = price; } public string Name { get { return m_name; } } public int Price { get { return m_price; } } } // Define Business Object "Merchant" that provides a // GetProducts method that returns a collection of // Product objects. public class Merchant { private List<Product> m_products; public Merchant() { m_products = new List<Product>(); m_products.Add(new Product("Pen", 25)); m_products.Add(new Product("Pencil", 30)); m_products.Add(new Product("Notebook", 15)); } public List<Product> GetProducts() { return m_products; } }
В меню Построить выберите пункт Построить решение. Будет создана сборка для объекта, и бизнес-объект Product появится в окне «Источники данных веб-узла» после добавления отчета к проекту.
Добавление отчета к проекту
Убедитесь, что в окне Обозреватель решений выбран веб-узел проекта или элемент проекта.
Щелкните веб-узел проекта правой кнопкой мыши и выберите команду Добавить новый элемент.
В окне Добавление нового элемента выберите пункт Отчет. Введите имя отчета и нажмите кнопку Добавить. Отчет добавляется к проекту и автоматически открывается в конструкторе отчетов. По умолчанию используется имя отчета Report1.rdlc.
Проверка окна «Источники данных веб-узла»
Щелкните вкладку Report.rdlc[конструктор]. В левой области щелкните вкладку Источники данных веб-узла. Если вкладка Источники данных веб-узла не видна, в меню Данные выберите команду Показать источники данных.
Убедитесь, что объект Product и два его открытых свойства — Name и Price — отображаются в иерархии в окне Источники данных веб-узла.
Создание отчета
Убедитесь, что отчет открыт в режиме конструктора, и откройте Область элементов. Перетащите элемент управления Таблица с панели Область элементов в отчет. Элемент управления «Таблица» открывается в окне Конструктор с вкладками.
В окне Источники данных веб-узла перетащите поле Name из источника данных Product в первый столбец строки Подробности таблицы. Строка Подробности расположена посередине. Обратите внимание, что строка Заголовок заполняется автоматически, когда задается строка Подробности.
Перетащите поле Price в строку детализации второго столбца, поместив ее рядом с полем Name.
(Необязательно) Выберите строку верхнего колонтитула таблицы, щелкнув левый значок верхнего колонтитула таблицы и применив начертание шрифта Полужирный.
Удалите неиспользуемый столбец. Щелкните третий столбец, затем щелкните панель заголовка и нажмите клавишу Delete.
Чтобы добавить заголовок к отчету, откройте Область элементов и перетащите элемент Текстовое поле в отчет. Расположите элемент Текстовое поле над таблицей. Введите имя отчета Products.
(Необязательно.) Задайте размер и начертание шрифта, чтобы сделать заголовок более заметным.
Добавление элемента управления ReportViewer на веб-страницу
Выберите веб-страницу по умолчанию в конструкторе, щелкнув правой кнопкой мыши файл Default.aspx в окне Обозреватель решений и выбрав команду Просмотреть конструктор.
Откройте Область элементов. В окне Область элементов разверните узел Данные и перетащите значок ReportViewer на веб-страницу.
Выберите элемент управления ReportViewer и откройте панель смарт-тегов, щелкнув треугольник в правом верхнем углу. Щелкните раскрывающийся список Выберите отчет и выберите только что созданный отчет. По умолчанию он называется c:\inetpub\wwwroot\WebSite\Report.rdlc. Обратите внимание, что элемент управления ObjectDataSource располагается непосредственно под элементом управления ReportViewer, и для него через компонент TableAdapter таблицы данных автоматически настраивается получение содержимого таблицы DataTable.
Запуск приложения
- Нажмите клавишу F5, чтобы запустить приложение с отладкой (или сочетание клавиш CTRL + F5, чтобы запустить приложение без отладки), и просмотрите отчет.
См. также
Справочник
Microsoft.Reporting.WinForms.ReportViewer.Drillthrough
Microsoft.Reporting.WinForms.LocalReport.SubreportProcessing
Microsoft.Reporting.WebForms.ReportViewer.Drillthrough
Microsoft.Reporting.WebForms.LocalReport.SubreportProcessing
Понятия
Использование панели смарт-тегов для задач ReportViewer