Как я могу скрыть стрелку раскрывающегося списка DataGridViewComboBoxColumn, как окно свойств Visual Studio? - PullRequest
6 голосов
/ 10 июля 2009

У меня есть DataGridView, где один из столбцов - DataGridViewComboBoxColumn. Когда сетка заполнена, этот столбец выглядит по-разному из-за стрелки раскрывающегося списка, появляющейся в каждой ячейке столбца. Я хотел бы изменить это так, чтобы стрелка раскрывающегося списка была скрыта и отображалась только тогда, когда строка фактически выделена или когда ячейка комбинированного списка выбрана для редактирования. Мне нужно поведение, похожее на то, как окно Свойства в Visual Studio обрабатывает его значения.

Ответы [ 3 ]

9 голосов
/ 10 июля 2009

В DataGridViewComboBoxColumn есть свойство под названием DisplayStyle. Установите Nothing, чтобы скрыть DropDownButton

Дополнительную информацию о перечислении DataGridViewComboBoxDisplayStyle можно получить по этой ссылке MSDN

0 голосов
/ 25 июля 2016

Если вы установите DataGridViewComboBoxColumn.DisplayStyleForCurrentCellOnly = True, то раскрывающийся список появляется, только если ячейка является текущей ячейкой.

0 голосов
/ 15 января 2013

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

Это как скрыть выпадающий список из сетки на основе значения в другом. Значение 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...