СЛ
Светлана Лебедева

Подскажите как узнать номер выделенной ячейки dataGridView? Visual Studio C++ Windows Form



Если вот так написать
int NSelect = dataGridView1->HitTestInfo->RowIndex;
то получаются ошибки:
error C2273: приведение типов в стиле функции: недопустимо в качестве выражения с правой стороны оператора "->"
error C2227: выражение слева от "->RowIndex" должно указывать на тип класса, структуры или объединения либо на универсальный тип

АС
Алексей Свиридов

Список выделенных ячеек можно получить используя свойство компонента SelectedCells.

Пример:
Создан обработчик события SelectionChanged, в котором при изменении выделенных ячеек, координата первой из них показывается на метке label1:

Void dataGridView1_SelectionChanged(Object^ sender, EventArgs^ e) {
if (dataGridView1->SelectedCells->Count > 0) {
label1->Text = String::Format("{0}, {1}",
dataGridView1->SelectedCells[0]->RowIndex,
dataGridView1->SelectedCells[0]->ColumnIndex);
}
}

Следует учесть, что коллекция SelectedCells формируется исходя из порядка выделения/снятия выделения ячеек, т. е. первой в коллекции выделенных ячеек будет та, которая была выделена первой, а не крайняя верхняя левая ячейка.

Чтобы запретить выделение нескольких ячеек, нужно установить свойство компонента MultiSelect в значение false.

Похожие вопросы
Visual Studio C++ 2008 windows forms
Проблема с C++ Visual studio 2010
Проблемма с выделением памяти (malloc,realoc). C;Visual Studio 2010
visual c++ глобальные переменные. где visual c++ объявить глобальные переменные? имеется в виду в form aplication?
Как в dataGridView добавить содержимое из textBox (Я работаю в Visual studio C#)
как datagridview1 присвоить данные из dataGridView 2 (visual studio 2008 C#)
Аналоги Visual Studio C++ какие есть
microsoft visual studio c++
вопрос по Visual Studio C#
C# Windows Form. Есть вопрос..