Невозможно иметь строго типизированный доступ к представлению таблицы данных, если внутри набора данных не используется табличный адаптер.
Чтобы получить доступ к строго типизированным переменным, когда сетка данных связана с источником данных через источник привязки, выполните следующие действия:
Создать новый проект.
Вставьте DataSet с именем ds1 и DataTable с именем dt99 со столбцами с именами DataColumn1 и DataColumn2, оба типа string.
Добавить datagridView в основную форму и привязать его к dt99
Так что dt99BindingSource соединяет сетку данных и таблицу данных
Добавьте и обработчик события для изменения выбора представления сетки данных и вставьте следующий фрагмент кода
private void dataGridView1_SelectionChanged (Отправитель объекта, EventArgs e)
{
ds1.dt99Row d= ((ds1.dt99Row)((DataRowView)dt99BindingSource.Current).Row);
Debug.WriteLine(d.DataColumn1 + " " + d.DataColumn2);
}
Теперь у вас есть строго типизированные переменные (d.DataColumn1 и d.DataColumn2) для доступа к ячейкам, выбранным в представлении данных
Другая интересная особенность заключается в том, что таблица данных, вставленная в набор данных, предоставляет набор открытых классов, которые очень помогают при обработке таблиц данных, например,
private void Form1_Load(Object sender, EventArgs e)
{
ds1.dt99.Adddt99Row("K", "B");
ds1.dt99.Adddt99Row("L", "D");
ds1.dt99.Adddt99Row("M", "F");
ds1.dt99.Adddt99Row("N", "H");
ds1.dt99Row dr = ds1.dt99.Newdt99Row();
dr.DataColumn1 = "X";
dr.DataColumn2 = "Y";
ds1.dt99.Adddt99Row(dr);
}