Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

c#_mssql_lr

.pdf
Скачиваний:
22
Добавлен:
15.03.2016
Размер:
2.27 Mб
Скачать

работоспособности подключенной формы и отчета запустить приложение. Отчет может иметь вид, приведенный на рисунке 9.81.

Рисунок 9.80

Рисунок 9.81

13.Изменим внешний вид отчета. Так, например, уберем подчеркивание в заголовках столбцов отчета. Щелкнем правой кнопкой мыши по надписи Номер и в меню (рисунок 9.70) выберем пункт Format Object. В окне Format Editor (рисунок 9.82) выберем вкладку Font и отключим переключатель Underline. То же нужно проделать и с другими надписями.

Разработка клиентского приложения с помощью MS Visual Studio. Методические указания для проведения лабораторных работ по курсу «Организация баз данных и знаний», Орловский Д.Л., НТУ «ХПИ», кафедра АСУ, 2009

Рисунок 9.82

14.Отделим заголовок отчета от данных. Для этого в панели Toolbox выберем компонент Line Object (линия). Проведем эту линию ниже заголовка (рисунок 9.83). Проверим работоспособность отчета. Отчет должен принять вид, аналогичный приведенному на рисунке 9.84.

Рисунок 9.83

Разработка клиентского приложения с помощью MS Visual Studio. Методические указания для проведения лабораторных работ по курсу «Организация баз данных и знаний», Орловский Д.Л., НТУ «ХПИ», кафедра АСУ, 2009

Рисунок 9.84

15.Рассчитаем итоговые данные по отчету. Предположим, что такими данными являются: общее количество договоров, общее количество поставленных единиц товаров, общая сумма поставки. Эти данные будут размещаться в разделе отчета Section 4 (Report Footer). Прежде всего этого раздел нужно сделать активным (т.е. включить возможность вывода в нем данных). Для этого по строке Section 4 (Report Footer) нужно щелкнуть правой кнопкой мыши и в появившемся меню (рисунок 9.85) выбрать пункт Don’t Suppress. В результате в отчете данном разделе исчезнет штриховка. Для проверки активации этого раздела в него можно добавить линию, которая отделит итоговые данные от собственно данных отчета. Работоспособность отчета можно проверить. После этого создадим переменную, с помощью которой будет рассчитываться количество договоров. Для этого в окне Field Explorer (рисунок 9.86) щелкнуть правой кнопкой мыши по пункту Running Total Fields и выбрать пункт New. Затем сформировать параметры переменной (рисунок 9.87). Созданную переменную добавить в отчет. В результате отчет примет вид (рисунок 9.88). Запустить приложение для проверки работоспособности отчета (рисунок 9.89).

Рисунок 9.85

Разработка клиентского приложения с помощью MS Visual Studio. Методические указания для проведения лабораторных работ по курсу «Организация баз данных и знаний», Орловский Д.Л., НТУ «ХПИ», кафедра АСУ, 2009

Рисунок 9.86

Рисунок 9.87

Рисунок 9.88

Разработка клиентского приложения с помощью MS Visual Studio. Методические указания для проведения лабораторных работ по курсу «Организация баз данных и знаний», Орловский Д.Л., НТУ «ХПИ», кафедра АСУ, 2009

Рисунок 9.89

16.Аналогично создать переменные kolichestvo и summa для расчета остальных итоговых данных. Для этих переменных используется агрегирующая функция sum. Внешний вид измененного отчета приведен на рисунке 9.90.

Рисунок 9.90

V. Разработка отчета, использующего параметры

Рассмотренный выше отчет позволяет решить определенные проблемы, связанные с обработкой информации и выводом ее на печать, но обладает существенным недостатком хранимая процедура, которая является источником данных для отчета, не использует параметры. Рассмотрим

последовательность действий при создании и подключении в приложение отчета, с помощью которого выводятся на печать данные, формируемые с помощью хранимой процедуры, использующей параметры.

1.Создать в базе данных новую хранимую процедуру. Эта процедура в целом аналогична рассмотренной ранее, но обладает отличием в результате выполнения процедуры будут сформированы данные не обо всех договорах, а только о тех, номер которых превышает заданное значение. Именно это значение передается в процедуру в качестве параметра. Текст запроса, с

Разработка клиентского приложения с помощью MS Visual Studio. Методические указания для проведения лабораторных работ по курсу «Организация баз данных и знаний», Орловский Д.Л., НТУ «ХПИ», кафедра АСУ, 2009

помощью которого создается процедура, приведен на рисунке 9.91. Проверить работоспособность процедуры. Созданную процедуру подключить в список источников данных (окно Data Sources).

Рисунок 9.91

2.Создать новую форму и назвать ее Form_Rep2.cs. На этой форме разместить компонент CrystalReportViewer, выбрав его в панели Toolbox.

3.Добавить в проект новый компонент отчет именем CrystalReport_sp2.rpt.

Определить хранимую процедуру sp_dgvr_sum1 как источник данных для отчета. Данные, выводимые для предварительного просмотра и печати должны быть аналогичны предыдущему отчету, поэтому процедура

разработки отчета с помощью генератора отчетов подробно не рассматривается (в новом отчете можно не создавать объекты для итоговых данных).

4.Связать отчет с формой. Для этого в панели Toolbox выбрать компонент

CrystalReportDocument и перетащить его на форму Form_Rep2. На экран будет выведено окно запроса, позволяющее выбрать требуемый отчет (crystalReport_sp2). В результате будет добавлен компонент crystalReport_sp21. После этого в панели Toolbox нужно выбрать компонент

CrystalReportViewer и перетащить его на форму Form_Rep2.

5.Теперь форму Form_Rep2 нужно связать с главной формой. Для этого в

пункте Отчеты создадим второй пункт вертикального меню и назовем его Договоры (номера больше 2) (рисунок 9.92). Для этого пункта меню создадим функцию обработчик события Click (рисунок 9.93).

Рисунок 9.92

Разработка клиентского приложения с помощью MS Visual Studio. Методические указания для проведения лабораторных работ по курсу «Организация баз данных и знаний», Орловский Д.Л., НТУ «ХПИ», кафедра АСУ, 2009

Рисунок 9.93

6.Ввести функции обработчики событий, с помощью которых в отчет будут введены данные, сформированные с помощью хранимой процедуры. Для этого в форме нужно реализовать следующий программный код (рисунок 9.94). Внимание! Функция Form_Rep2_load должна быть ассоциирована с событием Load формы.

Рисунок 9.94

7.Для проверки работоспособности подключенной формы и отчета запустить приложение. При выборе пункта меню Договоры (номера больше 2) на экран будет выведена форма, содержащая отчет, в котором присутствуют данные (рисунок 9.95). Как видно из рисунка, в отчете присутствуют только договоры, номера которых больше 2. Итоговые данные отсутствуют. Это объясняется только упрощением отчета, используемого в данном примере. Таким образом, рассмотренный пример иллюстрирует возможность

передачи значения параметра из прикладной программы в хранимую процедуру и формирования соответствующего отчета. Однако рассмотренный пример имеет существенный недостаток значение, передаваемое в хранимую процедуру, однозначно указывается прошивается») в программном коде и не подлежит изменению. Это

существенно снижает возможности использования прикладного программного обеспечения.

Разработка клиентского приложения с помощью MS Visual Studio. Методические указания для проведения лабораторных работ по курсу «Организация баз данных и знаний», Орловский Д.Л., НТУ «ХПИ», кафедра АСУ, 2009

Рисунок 9.95

VI. Разработка отчетов, использующих в качестве параметров данные, вводимые с помощью экранной формы

Рассмотрим последовательность действий при создании и подключении в приложение отчетов, с помощью которых выводятся на печать данные, формируемые с помощью хранимых процедур, использующих параметры. Эти параметры должны вводиться пользователем с помощью экранной формы.

1.Создать новую форму и назвать ее Form_Rep3.cs. На этой форме разместить компонент CrystalReportViewer, выбрав его в панели Toolbox.

2.Связать отчет crystalReport_sp2 с формой Form_Rep3. Для этого в панели Toolbox выбрать компонент CrystalReportDocument и перетащить его на форму Form_Rep3. На экран будет выведено окно запроса, позволяющее выбрать требуемый отчет (crystalReport_sp2). В результате будет добавлен компонент crystalReport_sp21. После этого в панели Toolbox нужно выбрать компонент CrystalReportViewer и перетащить его на форму Form_Rep3.

3.Создать новую форму и назвать ее Form_Reports.cs. На форме разместить три объекта: надпись, поле и кнопку (Label, TextBox, Button) (рисунок 9.96). Для свойства Text поля установить значение 0.

Рисунок 9.96

Разработка клиентского приложения с помощью MS Visual Studio. Методические указания для проведения лабораторных работ по курсу «Организация баз данных и знаний», Орловский Д.Л., НТУ «ХПИ», кафедра АСУ, 2009

4.Связать новую форму с главной формой. Для этого в пункте Отчеты меню

главной формы создать третий пункт вертикального меню и назвать его Отчеты по поставкам (рисунок 9.97). Для этого пункта меню создать функцию обработчик события Click (рисунок 9.98).

Рисунок 9.97

Рисунок 9.98

5.На форме Form_Rep3 в произвольном месте нужно разместить объект типа TextBox (рисунок 9.99). Определить имя объекта – textBox1. Для свойства Visible установить значение False.

Рисунок 9.99

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

Разработка клиентского приложения с помощью MS Visual Studio. Методические указания для проведения лабораторных работ по курсу «Организация баз данных и знаний», Орловский Д.Л., НТУ «ХПИ», кафедра АСУ, 2009

9.100). Внимание! Функция Form_Rep3_load должна быть ассоциирована с событием Load формы.

Рисунок 9.100

7.Для кнопки, размещенной на форме Form_Reports (рисунок 9.96), создать функцию обработчик события Click (предполагается, что имя этой кнопки – button1). Текст функции приведен на рисунке 9.101.

Рисунок 9.101

8.Проверить работоспособность отчета. Для этого запустить приложение и с помощью объектов формы Form_Reports получить список договоров, номера которых больше 3 (рисунок 9.102), больше 5 и т.д.

Разработка клиентского приложения с помощью MS Visual Studio. Методические указания для проведения лабораторных работ по курсу «Организация баз данных и знаний», Орловский Д.Л., НТУ «ХПИ», кафедра АСУ, 2009

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]