2010-11-15 4 views
0

Je lie une classe personnalisée à Datagridview et je souhaite afficher une liste modifiable pour l'une des propriétés Enum.Afficher une liste déroulante modifiable dans DataGridView pour la propriété Enum de la classe personnalisée

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 

Dans Form1 je suis liaison List (Of Contact) comme suivant.

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

Maintenant, quand je lance l'application dans datagridview n'a pas créé ComboBox modifiable pour la propriété enum de genre de ma classe personnalisée. J'ai essayé de créer EnumConverter personnalisé, mais n'a pas fait la propriété enum à dropdown modifiable. S'il vous plaît laissez-moi savoir comment je vais obtenir le combobox/dropdown modifiable dans datagridview pour ma propriété enum personnalisée de classe.

Répondre

1

Dans l'événement EditingControlShowing de votre datagridview, définissez le style déroulant de cette boîte de dialogue de colonne sur DropDown. Voici l'échantillon.

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

Cela devrait rendre votre zone de liste modifiable de genre modifiable.

Questions connexes