Всплывающее окно в выбранной ячейке

#vb.net #datagridview

#vb.net #datagridview

Вопрос:

У меня есть datagridview с панелью, которая появляется при выборе ячейки с помощью этого кода

 Private Sub dgvPurchase_EditingControlShowing(sender As Object, e As   DataGridViewEditingControlShowingEventArgs) Handles dgvPurchase.EditingControlShowing
    pnlItem.Location = New Point(314, 234) 
    If pnlItem.Visible Then
        pnlItem.Visible = False
    Else
        pnlItem.Visible = True
    End If

End Sub
  

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

Ответ №1:

Проверьте CurrentCell.RowIndex , прежде чем что-либо делать…

  If dgvPurchase.CurrentCell.RowIndex = YOURROWINDEX Then
   pnlItem.Location = New Point(314, 234) 
   If pnlItem.Visible Then
      pnlItem.Visible = False
   Else
      pnlItem.Visible = True
   End If
 End If
  

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

Также я заметил, что вы не приняли никаких решений, которые вам помогли. На этой ноте SO помогает другим устранять проблемы. Если ответ помог, пожалуйста, будьте добры и вознаградите их, поставив галочку и проголосовав.

Редактировать

Согласно вашим комментариям, вам нужен определенный столбец, а не строка…

       If dgvPurchase.CurrentCell.ColumnIndex = YOURCOLUMNINDEX
  

Это событие произойдет, только если это нужный вам столбец.

Комментарии:

1. Извините за этот поздний ответ @Zaggler, вчера я потерял интернет. Я попробовал ваше решение и изменил значение YOURROWINDEX на 1, поскольку оно находится во втором столбце, но ничего не происходит, и моя панель больше не появится.

2. Ну, в какой строке вы хотите, чтобы это произошло? Вы не упомянули об этом… Вы указали конкретную строку, но не упомянули строку, просто измените номер на нужную вам строку… Я только что понял, что вы сказали столбец в своем комментарии. Если это так, ваш вопрос сам по себе неправильный и ошибочный… Пожалуйста, отредактируйте его.

3. Пожалуйста, ознакомьтесь с обновленным ответом, поскольку запрошенное вами было изменено.

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

5. I want the panel to pop-up when I click the cell of a particular column вы не видели мое обновление в ответе?