Форма “MainForm”
Форма разделена на две области при помощи элементов управления GroupBox, предназначенных для логической группировки элементов управления. Панель “Groups” включает в себя DataGridView и три кнопки для управления группами: добавить, удалить, редактировать. Панель Students аналогично содержит DataGridView, три кнопки и один CheckBox”Show all students”, действующий в качестве фильтра и указывающий на то, следует ли отобразить всех студентов или же студентов только выбранной группы.
Для работы с XML-данными на форме также размещены не визуальные компоненты: dsSample1, groupBindingSource, studentBindingSource.
dsSample1 – это объект DataSet, представляющий собой набор данных, в данном случае этот объект будет содержать в себе все таблицы, ограничения, связи и т.д., прочитанные из XML файла. Данный объект можно рассматривать как часть некоторой базы данных.
groupBindingSource и studentBindingSource – это объекты типа BindingSource, которые служат для автоматической привязки данных из набора данных (dsSample1) к некоторому элементу управления (в данном случае gvGroups и gvStudents соответственно). Основная задача этого элемента управления автоматически заполнить элемент управления указанными данными, и в случае изменения данных внести коррективы в элемент управления.
В обработчиках события для gvGroups и checkBox1 будем вызывать только один метод SetFilter(), который управляет отображением нужных студентов.
private void gvGroups_SelectionChanged(object sender, EventArgs e)
{
SetFilter();
}
private void checkBox1_CheckedChanged(object sender, EventArgs e)
{
SetFilter();
}







