Bonjour,

J'ai un formulaire qui contient un datagridview qui ressemble à ça:
Nom : Nouvelle image bitmap.jpg
Affichages : 390
Taille : 69,9 Ko
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 ):
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
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.

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?