|
|||
таблицу набора данных bindsrc.DataSource = ds.Tables[0];// таблицу набора данных bindsrc.DataSource = ds.Tables[0];
// отмена генерации столбцов DataGridView dataGridView1.AutoGenerateColumns = false;
// установка привязки к источнику данных dataGridView1.DataSource = bindsrc;
// последовательное создание столбцов элемента управления DataGridViewTextBoxColumn NumGroup = new DataGridViewTextBoxColumn(); // имя поля, которое является источником данных для столбца NumGroup.DataPropertyName = "NumGroup"; // заголовок столбца NumGroup.HeaderText = "Учебная группа"; // добавление столбца в коллекцию столбцов DataGridView dataGridView1.Columns.Add(NumGroup);
DataGridViewComboBoxColumn colSem = new DataGridViewComboBoxColumn(); colSem.DataPropertyName = "NumSemestr"; colSem.HeaderText = "Семестр"; colSem.DataSource = new int[] { 1, 2 }; dataGridView1.Columns.Add(colSem);
DataGridViewTextBoxColumn colTitle = new DataGridViewTextBoxColumn(); colTitle.DataPropertyName = "idSubject"; colTitle.HeaderText = "Дисциплина"; dataGridView1.Columns.Add(colTitle);
DataGridViewTextBoxColumn colZE = new DataGridViewTextBoxColumn(); colZE.DataPropertyName = "Zach_Exam"; colZE.HeaderText = "Отчетность"; dataGridView1.Columns.Add(colZE); }
2.8. ПОЛЬЗОВАТЕЛЬСКИЙ ИНТЕРФЕЙС НА ОСНОВЕ ОДНОЙ ЗАПИСИ Чтобы просмотреть все записи, которые были помещены в результат запроса к базе данных, можно использовать интерфейс последовательного покортежного просмотра. Такой интерфейс удобен, например, для приложения тестирования, когда на форме показан только один из вопросов теста. Для навигации по строкам источника данных можно самостоятельно создать панель инструментов, с помощью которой можно было бы передвигаться по записям, добавлять, изменять и удалять записи источника данных. Но среди доступных элементов управления существует элемент, который уже реализует стандартный вид такой панели. Этот элемент управления называется BindingNavigator и для его корректной работы достаточно настроить только тот же источник данных, что для элементов управления, предоставляющих пользователю данные. public partial class Form3 : Form { DataSet ds;
// посредник между источником данных и элементами управления BindingSource bindsrc = new BindingSource();
public Form3() { InitializeComponent(); OdbcConnection con = new OdbcConnection("DSN=proba"); con.Open(); OdbcDataAdapter adapt = new OdbcDataAdapter ("select * from Sessions", con); ds = new DataSet(); adapt.Fill(ds, "Sessions"); con.Close();
// настройка источника данных для посредника bindsrc.DataSource = ds.Tables[0];
// настройка источников данных для элементов управления // первый параметр – свойство элемента управления, // отображающего данные // второй параметр – источник данных // третий параметр – имя свойства из источника данных, // данные которого отображаются в элементе управления textBox1.DataBindings.Add("Text", bindsrc, "NumGroup"); textBox2.DataBindings.Add("Text", bindsrc, "TitleSubject"); textBox3.DataBindings.Add("Text", bindsrc, "Zach_Ezam");
// настройка источника данных для панели навигации bindingNavigator1.BindingSource = bindsrc; } }
Рис. 44. Вид формы с использованием элемента BindingNavigator.
Отметим, что любой элемент управления на такой форме также должен быть привязан к своему источнику данных, который задается с помощью свойства (коллекции) DataBindings. Метод добавления нового источника для элемента управления задается с помощью трех параметров: 1 – свойство элемента управление, которое принимает значение из источника, 2 – объект источника данных или посредника BindingSource, 3 – свойство из источника данных, которое отображается в элементе управления.
|
|||
|