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

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

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

Создание проекта приложения Windows Forms

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

  2. В диалоговом окне Новый проект на панели Установленные шаблоны выберите «Visual C#», а затем выберите шаблон Приложение Windows Forms.Узел C# может находиться под узлом Другие языки, в зависимости от начальных настроек среды Visual Studio.

  3. Введите имя проекта BusinessObject и нажмите кнопку ОК.

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

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

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

    Новый файл добавляется к проекту и автоматически открывается в Visual Studio.

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

Добавьте отчет в проект с использованием мастера отчетов

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

  2. В окне Добавление нового элемента выберите пункт Мастер отчетов.Введите имя отчета и нажмите кнопку Добавить.

    Будет запущен мастер отчетов с мастером настройки источников данных.

  3. На странице Выбор типа источника данных выберите тип Объект и нажмите кнопку Далее.

  4. На странице Выбор объектов данных разверните иерархию классов, начиная с узла BusinessObject, пока в списке не появится элемент Product.Выберите элемент Product и нажмите кнопку Готово.

    Теперь вернемся к мастеру отчетов.В окне Обозреватель решений обратите внимание, что новый объект источника данных был добавлен в проект.

  5. На странице Свойства набора данных убедитесь, что в поле Источник данных выбран пункт Глобальный.

  6. Убедитесь, что в поле Доступные наборы данных выбран пункт Product.

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

  8. На странице Упорядочение полей выполните следующие действия.

    1. Перетащите элемент Имя из списка Доступные поля в поле Группы строк.

    2. Перетащите элемент Цена из списка Доступные поля в поле Значения.

  9. Дважды щелкните Далее, затем щелкните Готово.

    Будет создан RDLC-файл, который откроется в конструкторе отчетов.Сконструированный табликс теперь отобразится в области конструирования.

  10. Сохраните файл RDLC.

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

  1. В окне «Обозреватель решений» откройте форму Windows Forms в режиме конструктора.По умолчанию форма имеет имя Form1.cs.

  2. Перетащите значок ReportViewer из группы Отчетобласти элементов на форму.

  3. Откройте панель смарт-тегов в элементе управления ReportViewer, щелкнув глиф смарт-тега в правом верхнем углу.

  4. В списке Выберите отчет выберите созданный отчет.По умолчанию используется имя Report1.rdlc.Заметьте, что автоматически создается объект BindingSource с именем ProductBindingSource, соответствующий каждому источнику данных объекта, используемому в отчете.

  5. Щелкните элемент Закрепление в родительском контейнере на открытой панели смарт-тегов.

Передача экземпляров источников данных в объект BindingSource

  1. В обозревателе решений щелкните правой кнопкой мыши файл Form1.cs и выберите пункт Просмотреть код.

  2. В файле Form1.cs добавьте следующий код первой строкой перед конструктором в пределах определения разделяемого класса.

    // Instantiate the Merchant class.
    private Merchant m_merchant = new Merchant();
    
  3. В методе Form1_Load() добавьте следующий код первой строкой перед вызовом метода RefreshReport:

    // Bind the Product collection to the DataSource.
    this.ProductBindingSource.DataSource = m_merchant.GetProducts();
    

Запуск приложения

  • Нажмите клавишу F5, чтобы запустить приложение и просмотреть отчет.

См. также

Ссылки

ReportViewer.Drillthrough

LocalReport.SubreportProcessing

ReportViewer.Drillthrough

LocalReport.SubreportProcessing

Основные понятия

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

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

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