У меня есть DataGrid, содержащий небольшую таблицу. До сих пор у меня был обработчик двойного щелчка по этой сетке, который перебирал все строки, чтобы найти выбранную:
DataTable table = (DataTable)this.dataGrid.DataSource;
int selectedRow = -1;
for (int i=0; i<table.Rows.Count; i++)
if (this.dataGrid.IsSelected(i))
selectedRow = i;
break;
}
if ( selectedRow != -1 ) {
DataRow row = table.Rows[selectedRow];
// More code ...
}
Проблема: когда пользователь щелкает заголовок столбца и сортирует таблицу, table.Rows
не возвращает правильные строки. Он по-прежнему содержит несортированные строки.
Как мне получить правильный столбец?
Редактировать 1: у меня есть System.Windows.Forms.DataGrid
, а не DataGridView
. Я не знаю разницы, потому что я не очень хорошо знаю .Net. Могу ли я просто заменить DataGrid на DataGridView?