Bonjour,

Je rencontre un problème que je n'arrive pas à résoudre (VS2017 Pro 15.7.3), avec une liaison entre un ComboBox dans un DataGridView et une DataTable.
Mon binding fonctionne, mais lorsque je met à jour la base de données, et que je remet à jour le binding, la ComboBox ne se rafraichit que lorsque le curseur passe sur un élément qui a été modifié.
Essayons de simplifier les explications.
J'ai deux tables, Modes de règlement et Types de règlement, la 1ère possédant un champ ID Type règlement, qui pointe sur l'ID de la 2ème.
Dans une fenêtre, on édite les Modes de règlement, dans une 2ème les Types.
Dans la fenêtre des Modes, j'ai donc une DataGridView avec une colonne Combobox, qui affiche les Types de Règlement correspondant.
Pour le binding, j'ai fait ceci :

Je charge une DataTable, DT_TypReg.
J'ai une BindingSource globale (appelont la BS_TypReg) pour le fichier Types de règlement et j'ai donc fait un
Code : Sélectionner tout - Visualiser dans une fenêtre à part
BS_TypReg.DataSource = DT_TypReg
Pour ce qui est de ma colonne ComboBox (DGVCmb) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
        With DGVcmb
            .DataSource = BS_TypReg
            .DisplayMember = "VALUE"
            .ValueMember = "KEY"
        End With
Et çà s'affiche correctement au chargement.
Maintenant admettons qu'on édite un des Types de Règlement dans la 2ème fenêtre. On change le texte de "Chèque" à "Chèques". Lorsque la valeur modifiée est validée, je recharge la DataTable, et je fais :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
        BS_TypReg.DataSource = Nothing
        BS_TypReg.DataSource = DT_TypReg
Tous les contrôles qui sont liés devraient donc se mettre à jour, "instantanément". Mais voilà, rien ne se passe. Jusqu'à ce que je déplace mon curseur sur la ComboBox de la fenêtre des Modes de Règlement, et sur une ligne qui affichait "Chèque". Là le binding se rafraichit et les lignes concernées passent alors à "Chèques".

J'ai tenté un ResetBindings, mais çà ne change rien.
Quelqu'un a une idée de l'origine de mon souci ?