Как скрыть стрелку раскрывающегося списка DataGridViewComboBoxColumn, например окно свойств Visual Studio?
у меня есть DataGridView
где один из столбцов-это DataGridViewComboBoxColumn
. Когда сетка заполнена, этот столбец выглядит по-разному из-за стрелки раскрывающегося списка, появляющейся в каждой ячейке столбца. Я хотел бы изменить это так, чтобы стрелка раскрывающегося списка была скрыта и отображалась только тогда, когда строка фактически выделена или когда ячейка combobox выбрана для редактирования. Поведения я хотел бы как свойства
3 ответов
на DataGridViewComboBoxColumn
, есть свойство под названием DisplayStyle
. Установить Nothing
чтобы скрыть DropDownButton
дополнительная информация о DataGridViewComboBoxDisplayStyle
перечисление доступно на этом MSDN link
потребовалось некоторое время, чтобы найти это, но выше был ответ, смешанный с парой других страниц.
вот как скрыть раскрывающийся список из сетки на основе значения в другом. ValueToCheck должен находиться в ячейке перед ячейкой, содержащей раскрывающийся список, который вы хотите скрыть.
Private Sub dgv_CellPainting(ByVal sender As Object, ByVal e As
DataGridViewCellPaintingEventArgs) Handles dgv.CellPainting
'Pages Grid needs to be edited when rendering
If (e.RowIndex >= 0 AndAlso e.ColumnIndex >= 0) Then
Dim valueToCheck = dgv.Rows(e.RowIndex).Cells(2).Value
If (valueToCheck <> "True") Then
Dim thisCol = DirectCast(dgv.Rows(e.RowIndex).Cells(e.ColumnIndex), DataGridViewComboBoxCell)
thisCol.DisplayStyle = DataGridViewComboBoxDisplayStyle.Nothing
e.PaintBackground(e.ClipBounds, False)
e.Handled = True
End If
End If
End Sub
Если вы устанавливаете DataGridViewComboBoxColumn.DisplayStyleForCurrentCellOnly = True
, тогда раскрывающийся список появляется только тогда, когда ячейка является текущей ячейкой.