Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

private void FilterCheckBox_CheckedChanged(object sender, EventArgs e)




private void FilterCheckBox_CheckedChanged(object sender, EventArgs e)

{

//если установлен флажок и выбрана фамилия

if (FilterCheckBox. Checked & & FamComboBox. Text! = " " )

{

   //получить выбранную фамилию

   string fio = FamComboBox. SelectedItem. ToString();

   //составить условие для поиска нужного человека

//в таблице Contacts

   string str = " Fam='" + fio + " '";

   //найти нужного человека в таблице Contacts

   DataRow[] contacts = dataSet1. Contacts. Select(str);

   //составить условие для фильтра

   str = " ContactId=" + contacts[0][" id" ];

   //применить фильтр

   phonesBindingSource. Filter = str;

}

else

   //отменить фильтрацию

   phonesBindingSource. Filter = " ";

}

 

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

Так как фильтрация будет задаваться для таблицы Phones, а поле «фамилия» находится в таблице Contacts, необходимо получить идентификатор (порядковый номер) требуемой фамилии, чтобы потом найти его в таблице телефонов. Получить выбранную фамилию из выпадающего списка можно методом SelectedItem, а отобрать запись с этой фамилией из таблицы Contacts – методом Select().

Далее из полученной записи выделяется значение поля id, на основе которого задается условие для фильтрации: ContactId = < значение поля id>. Сформированный фильтр применяется к компоненту phonesBindingSource с помощью свойства Filter. Этот компонент генерируется автоматически при добавлении адаптеров доступа к базе данных.

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

 

6 Задание для самостоятельной работы

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

 

 


ЗАДАНИЕ № 3. Разработка бизнес-приложений с использованием объектной модели Word

1 Цель задания

Изучить принципы работы объектной модели Word. Получить навыки работы с пространствами имен, классами, методами, используемыми для автоматической генерации и настройки документов.

2 Порядок выполнения работы

Получить задание на выполнение задания к контрольной работе (раздел 4). Разработать и отладить доработанное приложение.

 

4 Пример выполнения работы

Дополним функциональность приложения «Телефонный справочник» возможностью генерации различных документов. Предположим, что программа должна формировать в Word приглашение на какое-то событие (день рождения, свадьбу и т. п. ) для выбранного из БД человека.

Чтобы использовать объектную модель Word, в приложение нужно добавить соответствующие ссылки. Выделите в окне Обозреватель решений папку References и выберите в контекстном меню пункт Добавить ссылку… (рисунок 3. 1). Переключитесь на вкладку COM и выберите в ней Microsoft Word 14. 0 Object Library (или другую версию).

 

 

Рисунок 3. 1 – Добавление ссылки на объектную модель Word

 

В качестве шаблона, на основе которого будет формироваться документ, будет использоваться файл «приглашение. docx», внешний вид которого приведен на рисунке 3. 2. Создайте этот файл и поместите его в папку docs в каталоге, где находится. exe-файл приложения (папку docs нужно создать самим).

Рисунок 3. 2 – Внешний вид шаблона документа

 

Как видно, данный шаблон содержит в себе так называемые метки, заключенные в угловые скобки (< FIO>, < Holiday> и др. ). В дальнейшем при формировании документа эти метки будут заменяться конкретными значениями.

Значение метки < FIO> будет браться из базы данных, т. е. приглашение будет формироваться для выбранного в таблице человека. А данные для всех остальных меток (наименование, дата, время и место проведения мероприятия) должны вводиться в программе отдельно. Это будет делаться в отдельном окне.

Добавьте в проект новую форму Form2. Ее внешний вид показан на рисунке 3. 3.

 

Рисунок 3. 3 – Форма ввода исходных данных для приглашения

 

Для ввода даты проведения мероприятия использован компонент DateTimePicker, а для ввода времени – компонент MaskedTextBox с настроенным свойством Mask.

Для кнопок OK и Отмена установлено свойство DialogResult в значения OK и Cancel соответственно. После этого никаких дополнительных обработчиков для этих кнопок писать не требуется.

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

 

Дальнейшая работа будет производиться с главной формой программы. Подключите в нее пространство имен Microsoft. Office. Interop. Word, содержащее в себе ядро объектной модели Word:

 

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...