merlin1977
Messages postés13Date d'inscriptionmardi 25 septembre 2007StatutMembreDernière intervention26 novembre 2012
-
5 nov. 2012 à 21:25
merlin1977
Messages postés13Date d'inscriptionmardi 25 septembre 2007StatutMembreDernière intervention26 novembre 2012
-
6 nov. 2012 à 11:01
Bonjour,
j'ai un problème dont je n'arrive pas à me dépatouiller:
je rajoute dans un datagridview un colone avec un combobox.
Dim cmb As New DataGridViewComboBoxColumn()
cmb.HeaderText = "LISTE"
cmb.Name = "cmb"
remplirlist("select * from list ", "LISTE", cmb)
DtgSemaine1.Columns.Add(cmb)
DtgSemaine1 étant le nom du datagridview.
J'ai deux gros problèmes :
1-Pour sélectionner un item de la liste je dois cliquer deux fois au lieu d'une sur la zone de la combobox.
2-Pour capturer l’événement lorsque je choisis un item de la combobox afin de déclencher une suite d'action.
Je n’arrive pas à trouver la marche à suivre.
Pour le second (un peu plus complexe à mettre en place)
Private Sub DtgSemaine1_EditingControlShowing(sender As Object, e As DataGridViewEditingControlShowingEventArgs) Handles DtgSemaine1.EditingControlShowing
Static dgvwEditCombo As DataGridViewComboBoxEditingControl = Nothing
Dim combo As DataGridViewComboBoxEditingControl = TryCast(e.Control, DataGridViewComboBoxEditingControl)
If combo IsNot Nothing Then
If dgvwEditCombo IsNot Nothing Then
RemoveHandler dgvwEditCombo.SelectedValueChanged, AddressOf DgvwEditCombo_SelectedValueChanged
End If
dgvwEditCombo = combo
AddHandler dgvwEditCombo.SelectedValueChanged, AddressOf DgvwEditCombo_SelectedValueChanged
End If
End Sub
Private Sub DgvwEditCombo_SelectedValueChanged(sender As Object, e As EventArgs)
Dim combo = TryCast(sender, DataGridViewComboBoxEditingControl)
Dim cell = combo.EditingControlDataGridView.CurrentCell
' ... Ton traitement ici ...
End Sub
Private Sub DtgSemaine1_CellEnter(sender As Object, e As DataGridViewCellEventArgs) Handles DtgSemaine1.CellEnter
Dim dgvw = TryCast(sender, DataGridView)
Dim cell = dgvw.Rows(e.RowIndex).Cells(e.ColumnIndex)
If TypeOf cell Is DataGridViewComboBoxCell Then
Dim combo As DataGridViewComboBoxEditingControl
DtgSemaine1.BeginEdit(True)
combo = CType(dgvw.EditingControl, DataGridViewComboBoxEditingControl)
combo.DroppedDown = True
End If
End Sub
merlin1977
Messages postés13Date d'inscriptionmardi 25 septembre 2007StatutMembreDernière intervention26 novembre 2012 6 nov. 2012 à 11:01
Super!
Merci beaucoup ça marche parfaitement.
par contre j'avoue que le fonctionnement de la chose reste obscure pour moi.
Je vais creuser pour essayer de comprendre tout ça.
En tout cas merci encore ça solutionne un problème sur lequel je finissais par m'arracher les cheveux. :)