Описание приложения “Sample” для работы с XML-данными. – 4

Создание и показ формы происходит полностью аналогичным образом как и при добавлении, но здесь нам требуется передать на форму данные для редактирования. Для получения текущего объекта Row в таблице Group, т.е. того Row, который выбран в gvGroups, можно воспользоваться следующей конструкцией:

DataRowView rv = (DataRowView)groupBindingSource.Current;

groupBindingSource.Current возвоащает текущий Row, но т.к. возвращается тип object, то нам необходиом его привести к нужному виду, в данном случае это всегда будет
DataRowView.

Далее передаем данные для редатирования на форму при помощи следующей строки: form.SetGroupName((string)rv.Row["Name"]);

Когда же редактирование завершено и пользователь закрыл форму по кнопке ОК, то заносим изменения с формы обратно в объект Row, это происходит при выполнении следующей строки:rv.Row["Name"] = form.GetGroupName();

Обработчик нажатия кнопки “Add Student”:

Добавление нового студента происходит почти также как и группы:

private void btnAddStudent_Click(object sender, EventArgs e)

{

int GroupID = ((dsSample.GroupRow)((DataRowView)groupBindingSource.Current).Row).GroupID;

StudentForm form = new StudentForm(dsSample1, GroupID);

if (form.ShowDialog() == DialogResult.OK)

{

dsSample.StudentRow row = dsSample1.Student.NewStudentRow();

row.Name = form.StudentName;

row.Surname = form.StudentSurname;

row.GroupID = form.StudentGroupID;

dsSample1.Student.AddStudentRow(row);

}

}

Первой строкой мы получаем ID выбранной группы в DataGridView. Далее создаем объект StudentForm и передаем туда необходимые параметры – это DataSet, для загрузки списка групп, и ID выбранной группы. Далее показываем форму и, если пользователь закрыл ее по кнопке ОК, добавляем нового студента в dsSample1. Для этого создаем объект row и задаем все необходимые свойства Name, Surname, GroupID, после чего добавляем настроенный объект row
в таблицу Student.

Обработчик нажатия кнопки “Edit Group”:

private void btnEditStudent_Click(object sender, EventArgs e)

{

dsSample.StudentRow row = (dsSample.StudentRow)((DataRowView)studentBindingSource.Current).Row;

StudentForm form = new StudentForm(dsSample1, row.GroupID);

form.StudentName = row.Name;

form.StudentSurname = row.Surname;

if (form.ShowDialog() == DialogResult.OK)

{

row.Name = form.StudentName;

row.Surname = form.StudentSurname;

row.GroupID = form.StudentGroupID;

}

}

Похожие записи

Добавить комментарий