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


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

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

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

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

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

  2. В диалоговом окне Создание проекта в разделе Visual C# выберите шаблон приложения Windows.

  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. В окне Добавление нового элемента выберите пункт Отчет. Введите имя отчета и нажмите кнопку Добавить. Отчет добавляется к проекту и автоматически открывается в конструкторе отчетов. По умолчанию используется имя отчета Report1.rdlc.

Использование мастера настройки источников данных для создания источников данных

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

  2. В меню Данные выберите команду Добавить новый источник данных. Будет запущен мастер настройки источников данных.

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

  4. Мастер настройки источников данных выведет список существующих классов в проекте. Разверните иерархию классов, начиная с узла BusinessObjects, пока в списке не появится элемент Product. Выберите элемент Product и нажмите кнопку Далее, затем нажмите кнопку Готово.

    Когда мастер завершает работу, новый объект источника данных появляется в окне Источники данных.

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

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

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

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

    Если окно Источники данных не отображается, в меню Данные выберите команду Показать источники данных.

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

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

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

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

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

  1. Выберите автоматически созданную форму приложения Windows в режиме конструктора. По умолчанию форма имеет имя Form1.cs.

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

  3. Выберите элемент управления ReportViewer и откройте панель смарт-тегов, щелкнув треугольник в правом верхнем углу. Щелкните раскрывающийся список Выберите отчет и выберите только что созданный отчет. По умолчанию используется имя Report1.rdlc. Обратите внимание, что автоматически создается объект BindingSource, соответствующий каждому источнику данных объекта, используемому в отчете.

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

  1. Щелкните правой кнопкой мыши форму среды Visual Studio и выберите из контекстного меню команду Просмотреть код.

  2. В файле Form1.cs добавьте следующий код в верхнюю часть класса. Можно использовать первую строку после инструкции public partial class Form1 : Form {, но перед конструктором.

    // 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, чтобы запустить приложение и просмотреть отчет.

См. также

Справочник

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

Понятия

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

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

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