#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
вы не видели мое обновление в ответе?