【问题标题】:Display editable dropdown in DataGridView for custom class Enum property在 DataGridView 中显示自定义类枚举属性的可编辑下拉列表
【发布时间】:2010-11-15 10:26:59
【问题描述】:

我正在将自定义类绑定到 Datagridview,并希望显示 Enum 属性之一的可编辑组合框。

Public Class Contact

    Public Enum GenderTypes
        Male
        Female
    End Enum

    Private _Firstname As String
    Private _Lastname As String
    Private _Gender As GenderTypes

    Public Property FirstName() As String
        Get
            Return Me._Firstname
        End Get
        Set(ByVal value As String)
            Me._Firstname = value
        End Set
    End Property

    Public Property LastName() As String
        Get
            Return Me._Lastname
        End Get
        Set(ByVal value As String)
            Me._Lastname = value
        End Set
    End Property

    Public Property Gender() As GenderTypes
        Get
            Return Me._Gender
        End Get
        Set(ByVal value As GenderTypes)
            Me._Gender = value
        End Set
    End Property

End Class

在 Form1 中,我正在绑定 List(Of Contact),如下所示。

Dim mContacts As List(Of Contact) = New List(Of Contact)
dgContacts.DataSource = mContacts

现在,当我在 datagridview 中运行应用程序时,没有为我的自定义类的性别枚举属性创建可编辑的组合框。我尝试创建自定义 EnumConverter,但没有将 enum 属性设置为可编辑下拉列表。

请告诉我如何在 datagridview 中为我的自定义类枚举属性获取可编辑的组合框/下拉列表。

【问题讨论】:

    标签: .net datagridview enums combobox


    【解决方案1】:

    在 datagridview 的 EditingControlShowing 事件中,将该列组合框的下拉样式设置为 DropDown。以下是示例。

    if (MyGridView.CurrentCell.ColumnIndex.Equals(GenderColumn.Index) && (e.Control is ComboBox))
      {
        var genderCombox = e.Control as ComboBox;
        genderCombox.DropDownStyle = ComboBoxStyle.DropDown;
      }
    

    这应该使您的性别组合框可编辑。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-09-15
      • 2023-04-05
      • 2010-11-30
      • 2010-09-08
      • 2020-07-08
      • 2017-04-02
      相关资源
      最近更新 更多