Все аналогично редактированию группы и добавлению студента. Получаем текущий row, т.е. выбранного студента, создаем форму, далее инициализируем ее свойства StudentName, StudentSurname: копируем данные из DataSet в элементы управления на форме. Если пользователь закрыл форму по кнопке ОК, то изменяем данные в DataSet: копируем данные из элементов управления формы в объект row.
Удаление записей
Удаление групп и студентов происходит одинаково. Перед удалением мы показываем окно для подтверждения удаления, и если пользователь подтвердил, то удаляем объект Row из таблицы, для этого используем метод RemoveCurrent() объекта BindingSource.
if (MessageBox.Show("Delete selected group?", "Deleting …", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
groupBindingSource.RemoveCurrent();
Форма “GroupForm”
Состоит из 4-х элементов управления:
- Label и TextBox для ввода/изменения имени группы
- Кнопка «Ok»,
- Кнопка «Cancel»
Обратите внимание на свойство DialogResult
у кнопок, оно установлено в значения OK и Cancel
соответственно. Это свойство отвечает за то, какой результат вернет это форма в случае если она была вызвана при помощи метода ShowDialog(). Для примера см. код из MainForm.cs: if (form.ShowDialog() == DialogResult.OK)
Для TextBox создан обработчик события TextChanged, возникающего при любом изменении текста:
private void textBox1_TextChanged(object sender, EventArgs e)
{
btnOk.Enabled = textBox1.Text.Length > 0;
}
Если пользователь удалил название группы, т.е. textBox1.Text.Length равняется нулю, то мы блокируем кнопку ОК.
И описаны два public метода, используемых в MainForm и описанных в разделах для добавления и редактирования данных:
public void SetGroupName(string GroupName)
{
textBox1.Text = GroupName;
}
public string GetGroupName()
{
return textBox1.Text;
}
Метод SetGroupName() устанавливает значение GroupName в textBox1. А метод GetGroupName() просто возвращает то, что содержит textBox1 в данный момент.







