Разработка Windows-приложений с использованием ADO.Net для подключения к базе данных. Использование элементов управления с привязкой данных, страница 2

3.  В строке Startup  objects выбрать имя главной формы (рис.4).

Отображение данных по авторам на форме отчета.

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

1.  Для этого необходимо:

2.  Перейти в окно дизайнера формы Отчет по авторам.

3.  Открыть окно Server Explorer, а в нем открыть (создать) подключение к базе данных TechPublish.

4.  Перетащить таблицу author из окна Server Explorer в окно дизайнера форм.

5.  Для сгенерированного объекта SqlDataAdapter, при  помощи контекстного меню создать набор данных dataset.

6.  Добавить на форму элемент для отображения данных dataGrid, установив его свойство DataSource в dataSet11.author (рис. 4).

Рис.4. Окно Property Pages с заданным свойством Startup Objects

Рис. 5. Окно Properties с установленным свойством DataSource

Откомпилируйте приложение и просмотрите результат (рси.6).

Рис.6. Форма Отчет по авторам

Аналогичным образом создаются другие формы отчета.

Изменение данных при помощи формы Справочник по авторам.

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

Рис.7. Форма доступа к Справочнику авторов

Таблица 1 Элементы управления, добавляемые на форму frmAuthorModify

Имя элемента управления

Тип элемента управления

Действие

ddlAutors

System.Windows.Forms. ComboBox

Отображает список всех авторов

txtID

System.Windows.Forms.TextBox

Отображает идентификатор автора

txtLname

System.Windows.Forms.TextBox

Отображает фамилию автора

txtFname

System.Windows.Forms.TextBox

Отображает имя автора

txtPhone

System.Windows.Forms.TextBox

Отображает номер телефона

txtAddress

System.Windows.Forms.TextBox

Отображает адрес проживания

txtСity

System.Windows.Forms.TextBox

Отображает город проживания

txtState

System.Windows.Forms.TextBox

Отображает страну проживания

txtZip

System.Windows.Forms.TextBox

Отображает почтовый индекс

txtСontract

System.Windows.Forms.TextBox

Отображает вид контракта автора

btnModify

System.Window.Forms.Button

Позволяет модифицировать информацию об авторе

btnSave

System.Window.Forms.Button

Позволяет модифицировать информацию об авторе

btnCancel

System.Window.Forms.Button

Позволяет отменить изменеия

btnNew

System.Window.Forms.Button

Позволяет создать новую запись

btnDelete

System.Window.Forms.Button

Позволяет удалить запись

После добавления необходимых элементов управления на форму следует установить их свойства.

Теперь следует написать код для формы frmAuthorModify. Прежде всего необходимо сконфигурировать объект DataAadapter и установить соединение с базой данных. Для этого повторите те шаги, которые были перечислены ранее. Имена элементов управления теперь будут такими: sqlDataAdapter1,sqlConnection1 и dsAuthors1.

В листинге приведен код обработки события Load формы frmAuthorModify. Когда форма загружается, возникает событие frmAuthorModifyLoad. В процедуре обработки события заполняется список авторов записями из объекта dsAuthors1 класса DataSet.

Листинг. Метод frmAuthorModify_Load

private void frmAuthorModify_Load(object sender, System.EventArgs e)

{

// Здесь необходим пользовательский код инициализации этой страницы

sqlDataAdapteri.Fill (dsAuthors1, "Authors");

int count;

count = dsAuthors1.Tables["Authors"].Rows.Count;

strArrAuID = new string [count];

int idCtr;

idCtr=0;

foreach (DataRow rowPicker1 in dsAuthors1.Tables["Authors"].Rows)

{

ddlAuthors.Items.Add(rowPicker1["au_fname"] + " " +

rowPicker1["au_lname"]);

StrArrAuID[idCtr] = rowPicker1["au_id"].ToString();

idCtr++;

} }

Далее необходимо добавить код обработки события click (щелчок) для кнопок Редактировать, Сохранить и Выход. Следующий фрагмент кода описывает обработку события click кнопки Редактировать.

private void btnModify_Click(object sender, System.EventArgs e) {

ddlAuthors.Enabled = false;

txtlD.Enabled = false;

txtLName.Enabled = true;

txtFName.Enabled = true;

txtPhone.Enabled = true; txtAddress.Enabled = true; txtCity.Enabled = true; txtState.Enabled = true; txtZip.Enabled = true; txtContract.Enabled = true; btnCancel.Enabled = true;

btnSave.Enabled = true;