Bonjour,
J'ai un formulaire qui contient un datagridview qui ressemble à ça:
Ce qui s'affiche dans la colonne valeur est le contenu de Variable mais en fonction de Format, on peut avoir un affichage en :
- Décimal
- Binaire
- ASCII
- Hexadécimal
Le problème c'est que quand je change la valeur du format d'affichage via le combobox de la ligne, la mise à jour de la cellule "Valeur" associée ne se met à jour que lorsque je clique dessus avec la souris.
Je récupère pourtant bien le changement d'index de la combobox via ce code (trouvé sur internet je n'ai malheureusement pas les compétences informatique pour trouver ça tout seul ):
Mais le Me.DataGridViewSuiviVariables.Refresh() ne marche pas.... pourtant je passe bien dedans après le changement de la combobox quand je mets un point d'arrêt dans le code.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 Private Sub DataGridViewSuiviVariables_EditingControlShowing(sender As Object, e As DataGridViewEditingControlShowingEventArgs) Handles DataGridViewSuiviVariables.EditingControlShowing ' Pour récuperer l'évènement comme quoi on vient de modifier la combobox d'affichage du format des valeurs Static dgvEditCombo As DataGridViewComboBoxEditingControl = Nothing Dim combo As DataGridViewComboBoxEditingControl = TryCast(e.Control, DataGridViewComboBoxEditingControl) If combo IsNot Nothing Then If dgvEditCombo IsNot Nothing Then RemoveHandler dgvEditCombo.SelectedIndexChanged, AddressOf DataGridViewSuiviVariables_SelectedIndexChanged End If dgvEditCombo = combo AddHandler dgvEditCombo.SelectedIndexChanged, AddressOf DataGridViewSuiviVariables_SelectedIndexChanged End If End Sub Private Sub DataGridViewSuiviVariables_SelectedIndexChanged(sender As Object, e As EventArgs) Dim combo = TryCast(sender, DataGridViewComboBoxEditingControl) Dim cell = combo.EditingControlDataGridView.CurrentCell Me.DataGridViewSuiviVariables.Refresh() End Sub
Pour info, la gestion de ce qui est à afficher dans valeur est géré dans l’événement CellPainting du datagridview.
Quelqu'un aurait une idée de comment forcer la cellule Valeur à se redessiner après le changement d'index de la combobox associée?
Partager