Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методические указания практические ООП 2012 час...doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
18.04 Mб
Скачать

Часть 2

Далее добавляем в проект еще одну форму для отображения данных из второго запроса, добавляем на форму сетку данных, выбираем источник данных, изменяем вид сетки

На главную форму в главное меню добавляем пункт "Результаты запроса", подключаем форму, пишем обработчик событий аналогично предыдущему

Запускаем приложение и просматриваем результаты запроса.

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

Произведем фильтрацию по содержимому коробки. В текстовое поле будем вводить данные, по нажатию кнопки "Выполнить фильтрацию" будем отображать соответствующие данные в сетке данных, по нажатию кнопки "Отменить фильтрацию" будем отображать полные данные запроса.

Подключим необходимый ресурс

using System::String;

Пропишем следующие обработчики событий по нажатию кнопки "Выполнить фильтрацию"

String^ expression;

expression = "Soder="+"'"+this->textBox1->Text+"'";

this->tt1BindingSource->Filter=expression;

по нажатию кнопки "Отменить фильтрацию"

String^ expression;

expression = "";

this->tt1BindingSource->Filter=expression;

Запустим программу. Проверим работоспособность.

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

Добавим на схему данных адаптер таблицы для отображения данных таблицы "Содержимое коробки".

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

Для удобства добавления записей добавим следующие компоненты на форму.

Для ComboBox зададим свойства

Форма примет следующий вид.

Для кнопки "Добавить запись в БД" создадим следующий обработчик событий:

private: System::Void button4_Click(System::Object^ sender, System::EventArgs^ e)

{

DataTable^ sk=this->Pr9DataSet->Sodkor1;

DataRow^ wr = sk->NewRow();

wr["uk_k"]=this->comboBox1->SelectedValue;

wr["Soder"]=(String^)this->textBox2->Text;

wr["Opis"]=(String^)this->textBox3->Text;

wr["Kol"]=int::Parse(this->textBox4->Text);

sk->Rows->Add(wr);

this->Sodkor1TableAdapter->Update(this->Pr9DataSet->Sodkor1);

this->tt1TableAdapter->Fill(this->Pr9DataSet->tt1);

}

Часть 3

Создаем отчет. В Обозревателе решений добавляем новую форму, на форму кладем соответствующий компонент

Выбираем для него пункт Design a new Report 

С панели инструментов выбираем компонент Таблица, перетаскиваем во 2 строку таблицы нужные поля из запроса

Если нужно просуммировать значения какого-то поля, то перетаскиваем это поле в 3 строку таблицы

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

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

Чтобы наш отчет отображался при запуске

добавляем нужный ресурс

using Microsoft::Reporting::WinForms::ReportDataSource;

на открытие формы прописываем код

// TODO: Данная строка кода позволяет загрузить данные в таблицу "Pr9DataSet.tt1". При необходимости она может быть перемещена или удалена.

this->tt1TableAdapter->Fill(this->Pr9DataSet->tt1);

this->reportViewer1->LocalReport->ReportPath = "Report1.rdlc";

ReportDataSource^ ds = gcnew ReportDataSource();

ds->Name = "Pr9DataSet_tt1";

ds->Value = tt1BindingSource;

reportViewer1->LocalReport->DataSources->Add(ds);

this->reportViewer1->RefreshReport();

На форму с запросом добавляем кнопку для просмотра отчета, подключаем форму с отчетом, добавляем обработчик событий для открытия формы с отчетом, как делали это раньше.

Запускаем программу

Практическая работа выполнена.

Задание:

На "3" : Создать приложение для работы с созданной БД для связи главная-детальная, организовать фильтрацию данных.

На "4" : Создать приложение для работы с созданной БД для запроса из двух таблиц и связи главная-детальная, организовать фильтрацию данных.

На "5" : приложение для работы с созданной БД для запроса из двух таблиц и связи главная-детальная, организовать фильтрацию данных, уметь создавать отчет, использовать агрегирующую функцию.

Контрольные вопросы:

  1. Как организовать просмотр и корректировку данных в приложении?

  2. Как организовать запись вносимых изменений в БД на сервере?

  3. Как организовать отображение данных из подчиненной таблицы?

  4. Как создать фильтр?

  5. Какие создать отчет по таблице?

  6. действий при создании приложения для работы с БД?

Практична робота №12

Тема: Розробка інтерфейсу користувача

Мета: Навчитися використанню перевірки даних, що вводяться, відображенням форми, роботі із мультимедіа

Хід роботи: