Выбор программ программно в DataGridView

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

int currentRow = dgvIcbSubsInfo.CurrentCell.RowIndex;
//code to execute
dgvIcbSubsInfo.Rows[currentRow].Selected = true;

after executing the code the preview will be as below. but i need to get the symbol > in id = 1272741 (blue selection) and not in 1272737

enter image description here

19
nl ja de
Проблема в том, что индекс строки выбранного элемента изменился (например, после сортировки или запроса источника данных).
добавлено автор Olivier Jacot-Descombes, источник
Чувак, вопрос трудно понять, недостаточно ясно!
добавлено автор wcraft, источник
> означает стрелку выбора в первых рядах
добавлено автор manoj, источник

2 ответы

Вероятно, вы могли взглянуть на свойство DataGridView.CurrentRow , который является свойством только для чтения:

Возвращает строку, содержащую текущую ячейку.

Но в разделе замечаний написано:

Чтобы изменить текущую строку, вы должны установить CurrentCell   ячейки в нужной строке.

Кроме того, из свойства DataGridView.CurrentCell , мы узнаем что:

При изменении значения этого свойства событие SelectionChanged   происходит перед событием CurrentCellChanged. Любое событие SelectionChanged   обработчик, получающий доступ к свойству CurrentCell в это время, получит его   предыдущее значение.

Таким образом, нет необходимости, чтобы вы фактически выбрали currentRow becasue, потому что он будет выбран, когда вы установите значение CurrentCell (если только у вас не будет кода, который будет выполнен в текущей области между событиями SelectionChanged и CurrentCellChanged ). Попробуй это:

//dgvIcbSubsInfo.Rows[currentRow].Selected = true;
dgvIcbSubsInfo.CurrentCell = dgvIcbSubsInfo.Rows[currentRow].Cells[0];
44
добавлено
Но где вы получаете значение «currentRow» ???
добавлено автор user2075599, источник

Я думаю, вы хотите выделить строку. Пожалуйста, попробуйте следующий код, я думаю, это может помочь:

Color color = dgv.Rows[prevRowIndex].DefaultCellStyle.SelectionBackColor;
dgv.Rows[curRowIndex].DefaultCellStyle.SelectionBackColor = color;
0
добавлено
DotNetRuChat
DotNetRuChat
2 992 участник(ов)

Чат русскоязычного .NET сообщества http://dotnet.ru/ Вам могут быть интересны: @dotnetchat, @cilchat, @fsharp_chat, @pro_net, @xamarin_russia, @microsoftstackjobs, @uwp_ru Флуд в @dotnettalks

Microsoft Stack Jobs
Microsoft Stack Jobs
1 788 участник(ов)

Work & freelance only Microsoft Stack. Feed https://t.me/Microsoftstackjobsfeed Чат про F#: @Fsharp_chat Чат про C#: @CSharpChat Чат про Xamarin: @xamarin_russia Чат общения:@dotnettalks

pro.net
pro.net
710 участник(ов)

Обсуждение .NET Framework и всего, что с ним связано. Правила: не флудить не по теме, уважать ваших коллег и никакой рекламы (объявления о вакансиях можно согласовать с @AlexFails). Флудилка: @dotnettalks Участник @proDOT

Microsoft Developer Community Chat
Microsoft Developer Community Chat
584 участник(ов)

Чат для разработчиков и системных администраторов Microsoft Developer Community. __________ Новостной канал: @msdevru __________ Баним за: оскорбления, мат, рекламу, флуд, флейм, спам, NSFW контент, а также большое количество оффтоп тем. @banofbot

.NET Talks: Force Push Masters
.NET Talks: Force Push Masters
490 участник(ов)

Свободный чат .NET разработчиков. Правила: t.me/dotnettalks/56823 Вам могут быть интересны: @dotnetruchat, @dotnetchat, @cilchat, @fsharp_chat, @pro_net, @dotnetgroup, @xamarin_russia, @microsoftstackjobs, @uwp_ru http://combot.org/chat/-1001128250813

.NET Chat Убежище
.NET Chat Убежище
246 участник(ов)

Чат .NET разработчиков под эгидой MSK/SPB .NET Community Group Вам могут быть интересны: @fsharp_chat, @dotnetruchat, @cilchat, @xamarin_russia, @microsoftstackjobs, @dotnetgroup Флуд в @dotnettalks

.NET CIL Chat
.NET CIL Chat
54 участник(ов)

.NET CIL (aka IL aka MSIL)