rafraichissement du binding d'un bouton
Bonsoir,
Voici un problème difficile a expliquer, mais je vais essayer...
J'ai un dataGrid "groupe" qui affiche sur chaque ligne un bouton.
Le bouton indique le nombre d'utilisateurs déjà créés pour le groupe (grâce à un binding que j'expliquerai plus loin)
Quand on pousse sur le bouton, j'ouvre une page qui me permet de rajouter ou d'effacer des utilisateurs.
Mon problème, quand je ferme cette fenêtre de gestion des utilisateurs, même si j'ai fait varier le nombre de ces utilisateurs, le bouton de mon datagrid affiche toujours le nombre avant modification.
Exemple, j'ai dans mon datagrid un seul groupe avec mon bouton qui affiche que j'ai deux utilisateurs créés pour ce groupe. Je clique sur le bouton et je crée un troisième utilisateur. Quand je ferme ma page de création de ce troisième utilisateur, les données ont bien été changées en base de données et je m'attends à voir le chiffre 3 sur mon bouton. Malheureusement, il reste à 2.
Un peu de code:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| <data:DataGrid x:Name="GrilleResellers" ItemsSource="{Binding Data, ElementName=RevendeurDS}" AutoGenerateColumns="False" >
<data:DataGrid.Columns>
<data:DataGridTextColumn Header="Nom" Binding="{Binding GroupUtilName}" Width="140" IsReadOnly="False" Foreground="Black"/>
<data:DataGridTemplateColumn x:Name="bkTemplateColumn" Header="Utilisateurs" >
<data:DataGridTemplateColumn.CellTemplate >
<DataTemplate x:Name="bkDataTemplate" >
<Button x:Name="btnJUser" Width="65" Click="btnJUser_Click" ToolTipService.ToolTip="On left: number of Users, on right: number of users with Asp Login. Click to edit" >
<StackPanel Orientation="Horizontal">
<TextBlock Text ="{Binding GroupUtilTrigNbrJUser}"/>
</StackPanel>
</Button>
</DataTemplate>
</data:DataGridTemplateColumn.CellTemplate>
</data:DataGridTemplateColumn>
</data:DataGrid.Columns>
</data:DataGrid> |
Mon datagrid est bindé au DomainDataSource "RevendeurDS".
J'appelle ma page de modification des utilisateurs:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
| Private Sub btnJUser_Click(ByVal sender As System.Object, ByVal e As System.Windows.RoutedEventArgs)
Dim JUserMngt As New JUserPage(CType(CType(sender, Button).DataContext, GroupeUtilisateurTbl))
AddHandler JUserMngt.Closed, AddressOf callback_JUserMngtClose
JUserMngt.Show()
End Sub
Private Sub callback_JUserMngtClose(ByVal sender As System.Object, ByVal e As System.EventArgs)
If sender.dialogresult Then
'je tente de mettre à jour mon bouton...
RevendeurDS.Clear()
RevendeurDS.QueryName = "GetGroupeUtilisateurTbl"
End If
End Sub |
L'ajout des utilisateurs qui est fait directement dans la base de données déclenche un trigger qui modifie le contenu du champ "GroupUtilTrigNbrJUser" sur lequel mon bouton est bindé.
Je devrais simplement pouvoir déclencher la mise à jour de mon domaineDataSource... mais ça ne fonctionne pas