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


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

В этом пошаговом руководстве показано, как использовать источник данных объекта в отчете в приложении ASP.NET, создаваемом в Microsoft Visual Studio 2008. Дополнительные сведения о бизнес-объектах и источниках данных объектов см. в разделе Binding to Business Objects.

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

Создание нового проекта веб-узла ASP.NET

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

  2. В диалоговом окне Создание веб-узла выберите Visual C# из раскрывающегося списка Язык, а затем выберите шаблон веб-узла ASP.NET.

  3. В разделе «Расположение» выберите вариант HTTP и введите URL-адрес веб-узла. Адрес по умолчанию — https://localhost/WebSite. Нажмите кнопку ОК. В редакторе кода откроется веб-страница по умолчанию.

Создание бизнес-объектов для использования в качестве источника данных

  1. Выберите веб-узел проекта в обозревателе решений (адрес начинается с http://). Щелкните узел правой кнопкой мыши и выберите команду Добавить новый элемент.

  2. В диалоговом окне Добавление нового элемента выберите Класс, введите имя файла BusinessObjects.cs и нажмите кнопку Добавить.

  3. Когда появится сообщение с вопросом «**Поместить класс в папку App_Code?**», нажмите кнопку Да. Новый файл добавляется к проекту и автоматически открывается в Visual Studio.

  4. Замените код по умолчанию в файле 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;
        }
    }
    
  5. В меню Построить выберите пункт Построить решение. Будет создана сборка для объекта, и бизнес-объект Product появится в окне «Источники данных веб-узла» после добавления отчета к проекту.

Добавление отчета к проекту

  1. Убедитесь, что в окне Обозреватель решений выбран веб-узел проекта или элемент проекта.

  2. Щелкните веб-узел проекта правой кнопкой мыши и выберите команду Добавить новый элемент.

  3. В окне Добавление нового элемента выберите пункт Отчет. Введите имя отчета и нажмите кнопку Добавить. Отчет добавляется к проекту и автоматически открывается в конструкторе отчетов. По умолчанию используется имя отчета Report1.rdlc.

Проверка окна «Источники данных веб-узла»

  1. Щелкните вкладку Report.rdlc[конструктор]. В левой области щелкните вкладку Источники данных веб-узла. Если вкладка Источники данных веб-узла не видна, в меню Данные выберите команду Показать источники данных.

  2. Убедитесь, что объект Product и два его открытых свойства — Name и Price — отображаются в иерархии в окне Источники данных веб-узла.

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

  1. Убедитесь, что отчет открыт в режиме конструктора, и откройте Область элементов. Перетащите элемент управления Таблица с панели Область элементов в отчет. Элемент управления «Таблица» открывается в окне Конструктор с вкладками.

  2. В окне Источники данных веб-узла перетащите поле Name из источника данных Product в первый столбец строки Подробности таблицы. Строка Подробности расположена посередине. Обратите внимание, что строка Заголовок заполняется автоматически, когда задается строка Подробности.

  3. Перетащите поле Price в строку детализации второго столбца, поместив ее рядом с полем Name.

  4. (Необязательно) Выберите строку верхнего колонтитула таблицы, щелкнув левый значок верхнего колонтитула таблицы и применив начертание шрифта Полужирный.

  5. Удалите неиспользуемый столбец. Щелкните третий столбец, затем щелкните панель заголовка и нажмите клавишу Delete.

  6. Чтобы добавить заголовок к отчету, откройте Область элементов и перетащите элемент Текстовое поле в отчет. Расположите элемент Текстовое поле над таблицей. Введите имя отчета Products.

  7. (Необязательно.) Задайте размер и начертание шрифта, чтобы сделать заголовок более заметным.

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

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

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

  3. Выберите элемент управления 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

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

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