DataGridView выбрать только определенное количество столбцов vb.net - PullRequest
0 голосов
/ 06 декабря 2018

У меня есть DataGridView1, который содержит n номеров столбцов. Я хочу, чтобы пользователь выбрал столбец, который он хочет сохранить, затем сохраняю его. (Готово)

Проблема в том, что я хочу, чтобы пользователь выбирал только3 столбца и 4 столбца дают пользователю массаж, который он / она должен выбрать только три.

Чтобы отменить выбор последнего, я использую DataGridView1_ColumnHeaderMouseClick Событие, и я представляю сообщение, но не могу найти ничего подобного DataGridView1.SelectColumn = False

If DataGridView1.SelectedColumns.Count > 3 Then
    MsgBox("You have to choose  3 columns only")
    Exit Sub
End If

1 Ответ

0 голосов
/ 06 декабря 2018

Я не уверен, что вы можете считать выбранные столбцы таким образом.В любом случае, вот способ использования аргументов события для достижения того, чего, я думаю, вы пытаетесь достичь:

Private Sub DataGridView1_ColumnHeaderMouseClick(sender As Object, e As DataGridViewCellMouseEventArgs) Handles DataGridView1.ColumnHeaderMouseClick
    If DataGridView1.Columns.GetColumnCount(DataGridViewElementStates.Selected) > 3 Then
        MsgBox("You cannot select more than 3 columns.")
        DirectCast(sender, System.Windows.Forms.DataGridView).Columns(e.ColumnIndex).Selected = False
    End If
End Sub

Я использовал DirectCast, чтобы заставить отправителя вести себя как представление данных (чтоэто так) потому что таким образом я мог бы прикрепить это событие к нескольким различным представлениям dtagrid, но если вам не нравится эта форма, вы всегда можете использовать DataGridView1.Columns(e.ColumnIndex).Selected = False.

Кроме того, я использую e.ColumnIndex, чтобы отменить выбор последнего столбцапользователь нажал, потому что я думал, что это было то, что вы пытались сделать, но вы можете изменить этот ассортимент на что-то более подходящее вашим потребностям, поскольку теперь вы знаете, как отменить выбор столбцов.

Получайте удовольствие!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...