Запрос определенного столбца DataGridView на основе CurrentRow

1

Я использую.NET 4.5 DataGridView в С# (Visual Studio 2010) с несколькими столбцами (Index, PosX, PosY,...). Я заполняю его несколькими строками пользовательских данных:

string[] row = new string[MyDataGridView.ColumnCount];
for (int i = 0; i < NumResults; i++)
    row = new string[] { i.ToString(), PosXArray[i].ToString(), PosYArray[i].ToString(), ... }
MyDataGridView.Rows.Add(row);

Каждая строка содержит информацию для одного объекта, идентифицированную значением столбца "Индекс". Когда пользователь выбирает строку, я хочу знать, какой объект был выбран. Я использую событие "SelectionChanged" для запроса CurrentRow следующим образом:

int CurrentRow = -1;
private void MyDataGridView_SelectionChanged(object sender, EventArgs e)
{
    if (MyDataGridView.CurrentRow.Index != CurrentRow)
        // Access the data over MyDataGridView.CurrentRow.Index

    CurrentRow = MyDataGridView.CurrentRow.Index;
}

Это работает до тех пор, пока индекс CurrentRow будет таким же, как значение "Index" в столбце 1. Однако пользователь может сортировать datagrid другим способом, например, на основе столбца "Позиция X".

Поэтому я хочу знать, как я могу получить доступ к значению определенного столбца, основанного только на индексе строки.

Теги:
datagridview

1 ответ

0

Я нашел такое решение:

string ObjectIndex = MyDataGridView.Rows[MyDataGridView.CurrentRow.Index].Cells[0].Value.ToString();

Ещё вопросы

Сообщество Overcoder
Наверх
Меню