Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Лабораторная работа № 10 - Создание отчетных форм для баз данных средствами MS Visual Studio 2008




 

Цель работы:Познакомиться с возможностями по созданию отчетов, предоставляемыми MS Visual Studio.

Задание №1.В среде MS Visual Studio необходимо создать Windows-приложение, которое позволит выводить и печатать прайс-лист организации, представленного на рисунке 26. Отчет необходимо создать средствами MS Report Viewer.

Рисунок 26 – Отчет, созданный средствами MS Report

Ход работы:

1. Добавьте в Ваш проект новый источник данных, содержащий все сведения из таблицы «Модель», используя технологию 19. Обратите внимание, что в окне SolutionExplorer появился новый элемент MMM_ВашеФИО­_DataSet.xsd

2. Добавьте в проект конструктор отчета, для этого:

· В окне SolutionExplorer вызовите контекстное меню решения и выберите Addà New item à закладка Reporting à Reportà Кнопка Add

· Обратите внимание, что в окне SolutionExplorer появился новый элемент Report1.rdlc

3. Добавьте в конструктор таблицу, для этого:

· В панели инструментов конструктора отчета щелкните элемент «Таблица», а затем щелкните в области конструктора отчета.

· В конструкторе отчетов появится таблица с тремя столбцами, занимающими всю ширину отчета.

· В первом столбце щелкните маркер правой кнопкой мыши и выберите команду «Вставить столбец слева».

4. Добавьте данные в таблицу конструктора отчетов, для этого:

· В окне «Data Source», найдите источник данных, созданный в пункте 2, разверните узел таблицы Модель, чтобы показать поля данных. Затем выполните следующие шаги:

o Перетащите поле Код модели из окна DataSource во вторую строку (строку детализации) первого столбца в таблице. При этом выполняются два действия. Во-первых, в ячейку сведений помещается текст =Fields!КодМодели.Value. Во-вторых, заголовок столбца автоматически помещается в первую строку, непосредственно над выражением поля.

o Аналогично перетащите поля название модели, описание модели, цена из окна «Источники данных» в строку детализации остальных столбцов в таблице.

5. Добавьте в Ваш проект новую форму. Добавьте обработчик для открытия только что добавленной формы при выборе в главном меню проекта пункта ОтчетыàПрайс-лист

6. Добавьте элемент управления ReportViewer на форму, для этого:

· Перетащите элемент управления ReportViewer из панели инструментов на форму.

· Откройте панель смарт-тегов в элементе управления ReportViewer, щелкнув треугольник в правом верхнем углу. Щелкните раскрывающийся список «Выбор отчета» и выберите файл Report1.rdlc

· На панели смарт-тегов щелкните элемент «Закрепление в родительском контейнере (Dock in Parent Container)».

7. Запустите проект и просмотрите отчет на форме.

Задание №2:В среде MS Visual Studio необходимо создать Windows-приложение, которое позволит формировать и передавать в MS Excel отчет по заказам вида, изображенного на рисунке 27. Отчет должен быть создан с использованием технологии COM.

Рисунок 27 –Отчет по заказам в MS Excel

Ход работы:

Указание: При выполнении данного задания используйте лекционный материал (Лекция – Отчеты в Visual Studio).

1. Добавьте в главное меню Вашего проекта пункт Отчеты à Заказы

2. Добавьте обработчик для открытия программы MS Excel при выборе только что добавленного пункта меню. Для этого

· Подключите библиотеку для работы с MS Excel в меню Project (Проект) à команду Add Reference (Добавить ссылку)à В открывшемся диалоговом окне Add Reference (Добавить ссылку) пе­рейдите на вкладку СОМ и выберите нужную библиотеку объектов. Например, для взаимодействия с Microsoft Excel требуется подключить библиотеку Microsoft Excel 11.0 Objecl Library. Цифра 11 обозначает установленную на компьютере версию Microsoft Excel (11 соответствует версии Microsoft Office 2003) à Нажмите кнопку ОК.

· Добавьте в код ГЛАВНОЙ ФОРМЫ проекта ссылку на пространство имен, содержащие объек­ты продуктов Microsoft Office:

Imports Microsoft.Office.Interop

· Откройте обработчик пункта меню Отчеты à Заказы и напишите код, запускающий программу MS Excel:

Dim ЗадайтеИмяПеременнойExcel As New Excel.Application

ИмяПеременнойExcel.Visible = True

3. Запустите проект и убедитесь, что при выборе в главном меню Отчеты à Заказы открывается окно программы MS Excel.

4. Допишите обработчик на пункт меню Отчеты à Заказы для добавления рабочей книги с рабочими листами в MS Excel. Для этого в обработчике:

· Опишите и создайте переменную-экземпляр рабочей книги

Dim ЗадайтеИмяПеременнойРабочейКниги As Excel.Workbook

ИмяПеременнойРабочейКниги = ИмяПеременнойExcel.Workbooks.Add

· Опишите переменную – экземпляр рабочего листа, присвойте ему значение первого листа рабочей книги, активизируйте его.

Dim ЗадайтеИмяПеременнойРабочегоЛиста As New Excel.Worksheet

ИмяПеременнойРабочегоЛиста = ИмяПеременнойРабочейКниги.Worksheets(1)

ИмяПеременнойРабочегоЛиста.Activate()

· Выведите на рабочий лист заголовок отчета «заказы» и заголовки столбцов таблицы Заказы из вашей БД. (Номер заказа, Код магазина, Дата заказа). Зададим жирный крупный шрифт для заголовков. Для этого добавьте в код:

ИмяПеременнойРабочегоЛиста.Cells(1, 1) = "Заказы"

ИмяПеременнойРабочегоЛиста.Range("a2").Value = "Номер заказа"

ИмяПеременнойРабочегоЛиста.Range("b2").Value = "Код магазина"

ИмяПеременнойРабочегоЛиста.Range("c2").Value = "Дата заказа"

ИмяПеременнойРабочегоЛиста.Range("a1:c2").Font.Bold = True

ИмяПеременнойРабочегоЛиста.Range("a1:c2").Font.Size = 16

· Запустите проект и убедитесь, что при выборе в главном меню Отчеты à Заказы открывается окно программы MS Excel с рабочей книгой и активным первым рабочим листом.

5. Допишите обработчик на пункт меню Отчеты à Заказы для выгрузки информации из таблицы Заказы в MS Excel. Для этого в обработчике:

· Создайте и опишите переменную – экземпляр класса Command или DataView, которая извлекает данные из таблицы Заказ. Для этого, например, для Command:

o Добавьте в код ссылку на пространства имен для работы с объектами ADO: Imports System.Data

Imports System.Data.SqlClient

o В коде формы, в продолжение процедуры-обработчика меню ОтчетыàЗаказы, опишите переменную и создайте экземпляр объекта Connection и задайте ей параметры подключения, используя технологии 9,10.

o Опишите переменную и создайте экземпляр объекта Cоmmand, используя технологию 11. Cоздаваемый вами объект Command должен быть подключен к ранее созданному объекту Connection.

o Задайте для только что созданного объекта Command текст запроса на выборку всех данных (SELECT *) из таблицы Заказы, используя технологию 12.

o Откройте подключение к БД, используя технологию 15.

o Выполните запрос объекта Command, используя технологию 18.

· Выведите данные из переменной-экземпляра класса Command в ячейки рабочего листа. Для этого:

o Откройте цикл, который перебирает все записи из объекта DataRead и записывает их в нужные ячейки Excel, начиная с третьей строки (потому что первая строка – заголовок отчета, вторая строка – заголовок таблицы уже заполнены ранее)

Dim I As Integer

I=3

While ИмяОбъектаDataReader.Read

‘ Выводим номер заказа в ячейку из строки i, столбца 1

ws.Cells(i, 1) = ИмяОбъектаDataReader (“ЗадайтеИмяСтолбцаИзНабораДанных,КоторыйВамНеобходимоВывести")

‘ Выводим код магазина в ячейку из строки i, столбца 2

ws.Cells(i, 2) = ИмяОбъектаDataReader (“ЗадайтеИмяСтолбцаИзНабораДанных,КоторыйВамНеобходимоВывести")

‘ Выводим дату заказа в ячейку из строки i, столбца 3

ws.Cells(i, 3) = ИмяОбъектаDataReader (“ЗадайтеИмяСтолбцаИзНабораДанных,КоторыйВамНеобходимоВывести")

i=i+1

End While

ИмяОбъектаDataReader.Close()

· Добавьте формулы для расчета итоговой суммы заказа на рабочий лист Excel. Для этого необходимо в ячейку из строки с номером i+1, столбца 2 добавить такую формулу Excel: =Сумм(диапазон, по которому считается сумма). В нашей таблице Заказы не предусмотрен столбец суммы, поэтому, просто для примера!! Посчитаем сумму по коду магазинов. Код магазина у нас начинается выводиться в ячейке B3, заканчивает в ячейке столбца B, строки I-2. Для этого добавьте в обработчик такой код:

ws.Cells(i+1, 1) = "Сумма кода магазинов"

ws.Cells(i+1, 2) = "=Сумм(B3:B" & Cstr(I-2) & “)”

· Запустите проект и убедитесь, что при выборе в главном меню Отчеты à Заказы открывается в программе MS Excel отчет по данным из таблицы Заказы.

 

Задание №3:Самостоятельно измените созданное вами ранее приложение по отчету Заказов в Excel, добавив в него возможность просматривать информацию по Составу_заказов таким образом, чтобы приложение выглядело как изображение на рисунке 28.

Рисунок 28 –Отчет по составу заказов в MS Excel

Указание:

· Создайте и опишите переменную – экземпляр класса Command или DataSet, которая извлекает данные из таблицы Состав_Заказа.

· Выведите данные из переменной-экземпляра класса Command или DataSet в ячейки рабочего листа (Данные по Составу Заказа должны выводиться сразу после информации о заказе. Внимательно работайте с циклами)

· Добавьте формулы для расчета в столбцы “Итого стоимость” (=цена+количество)

Лабораторная работа № 11 – Самостоятельная работа по автономным и подключенным объектам

 

Цель работы:Закрепить знания о подключенных и автономных объектах, полученные в процессе выполнения предыдущих лабораторных работ.

Задание №1:В среде MS Visual Studio необходимо с помощью теоретического материала из лекций, теории по объекту TreeView (см. лабораторные работы 1 семестра по дереву) необходимо создать форму для работы с Готовой продукцией, изображенную на рисунке 29.

1. Форма должна открываться из основного меню проекта (В главное меню добавьте пункт Склад à Готовая продукция)

2. Форма работает с данными из 2 таблиц вашей БД – таблица Модель и таблица Готовая продукция

3. Верхняя часть формы представляет собой компонент Дерево, узлы которого – это наименование существующих моделей, а св-во Tag узлов –это код модели.

Указание – Для заполнения дерева можно, например, сделать следующее:

  • Создать и выполнить объект SQLCommand с командой SELECT, извлекающей данные из таблицы Модель
  • В цикле While перебрать все строки результата выполнения команды (см. пример из лекции) и здесь же в цикле выполнить метод Add для формирования дерева.
  • И весь этот код поместить в событие Load формы.

 

Это компонент TreeView

Рисунок 29 –Форма для работы с готовой продукцией

4. При нажатии на кнопку «Новая» в верхней части формы открывается новая форма, изображенная на рисунке 30, с помощью которой вы можете добавить записи в таблицу Модель.

Указание – работайте с объектом Command и запросом Insert.

Рисунок 30 –Форма для добавления моделей

5. При нажатии на кнопку «Удалить» удаляется выделенный узел из дерева и строка из таблицы «Модель».

Указание – работайте объектом Command и запросом Delete.

6. При нажатии на кнопку «Свойства» открывается форма, в которой отображаются все сведения о выбранной в дереве модели. Форма представлена на рисунке 31.

Указание – работайте с объектом Command и запросом Select.

Рисунок 31 – Форма для просмотра свойств моделей

7. Нижняя часть формы представляет собой компонент DataGridView, в котором отображаются сведения из таблицы Готовая продукция. При выборе в верхней части формы (в дереве) какого-либо узла=модели, в нижней части формы отображается вся готовая продукция данной модели.

Указание – напишите обработчик на событие Select объекта дерево, Работайте с объектом DataSet и DataAdapter.

8. Данная часть формы -это компонент Label, в котором отображается Код выбранной в дереве модели

Указание – напишите обработчик на событие Select объекта дерево, Работайте со свойством Text объекта label.







Дата добавления: 2014-11-10; просмотров: 1301. Нарушение авторских прав


Рекомендуемые страницы:


Studopedia.info - Студопедия - 2014-2019 год . (0.007 сек.) русская версия | украинская версия