Формы Visual Studio. Иногда выбор ячейки сетки данных не устанавливает для свойства Selected ячейки значение true? - PullRequest
0 голосов
/ 04 июля 2018

Я работаю с сеткой данных для форм Visual Studio. Когда я выбираю данную ячейку, я хочу отслеживать индекс строки, в которой находится эта ячейка, используя следующий код:

selectedRows.Clear();
for (int i = 0; i < dataGrid.RowCount; i++)
{
            if (dataGrid[column, i].Selected)
            {                    
                selectedRows.Add(i);
            }
}

Это работает в 80% случаев. Однако иногда, когда я выбираю ячейку имени строки, она выделяет синюю ячейку, что наводит меня на мысль, что я выбрал ее, но индекс не добавляется в selectedRows. Я что-то упускаю здесь?

Правильно ли я полагаю, что иногда для свойства Выбранные ячейки просто не устанавливается значение true, что вызывает эту ошибку, даже если я четко выбрал ячейку?

P.S. Я проверил, что переменная «столбец» является правильным.

1 Ответ

0 голосов
/ 05 июля 2018

Вы можете использовать событие Cell click и сделать что-то вроде этого:

private void Datagridview1_CellClick(object sender, DataGridViewCellEventArgs e)
    {
        int index = e.RowIndex;
        if (!selectedRows.Exists(x =>x == index))
        {
           selectedRows.Add(index)
        }
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...