У меня есть таблица данных, которая содержит данные о радиочастоте. Есть две колонки. Столбец Заголовок, в котором находится номер строки таблицы данных и столбец частоты. Столбец Header в кнопке, на которой есть событие click. Есть 100 строк, и только некоторые из них заполнены.
Когда я открываю это, и сортировка не происходит, я получаю ожидаемую частоту, когда нажимаю на кнопку. Однако, если столбец частоты отсортирован, частоты идут после всех пустых строк. Столбец Header показывает номер строки и, конечно, он не в порядке.
Проблема заключается в том, что при сортировке представления сетки данных мой код возвращает строку сетки данных, которая больше не соответствует строке в таблице данных. Вот код:
private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
string frequency;
frequency = Convert.ToString(memoryTable.Rows[e.RowIndex]["FREQUENCY"]);
//do some other commands
}
Несмотря на то, что в ячейке заголовка указан правильный номер строки таблицы данных (например, 1), e.rowindex дает значение 91 или около того, которое теперь является его позицией в представлении таблицы данных.
Итак, вопрос в том, как получить значение, отображаемое в ячейке заголовка, или значение строки таблицы базовых данных? Я перепробовал кучу вещей! Спасибо, Том