Bonjour,

Bon et bien maintenant que j'ai réussi à binder mon DataSet issue d'une base mySQL sur ma list view WPF, je me confronte à un nouveau problème. Je m'explique :


Ma list view est constituée d'un grid view de plusieurs colonnes, chacune bindé sur des propriétés de la table SQL. En l'occurence j'ai une check box qui est bindé sur un booléen de ma table :

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
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
 <ListView MaxWidth="612" ScrollViewer.HorizontalScrollBarVisibility="Disabled" x:Name="ItemsControl1" Margin="128,40,0,-40" ItemContainerStyle="{DynamicResource MyItemContainerStyle}" Focusable="False" BorderThickness="0" ItemsSource="{Binding Tables[0]}" >
        <ListView.View>
            <GridView ScrollViewer.HorizontalScrollBarVisibility="Disabled">
 
                <GridViewColumn Header="Nom" Width="190" >
                    <GridViewColumn.CellTemplate>
                        <DataTemplate>
                               <TextBlock VerticalAlignment="Center" Text="{Binding Path=nom_produit}"/>
                        </DataTemplate>
                    </GridViewColumn.CellTemplate>
                    </GridViewColumn>
 
                <GridViewColumn Header="Image" Width="100" >
                    <GridViewColumn.CellTemplate>
                        <DataTemplate>
                            <Image VerticalAlignment="Center" Source="{Binding Path=description_produit}" />
                        </DataTemplate>
                    </GridViewColumn.CellTemplate>
                </GridViewColumn>
 
                <GridViewColumn Header="Quantité" Width="100">
                    <GridViewColumn.CellTemplate>
                        <DataTemplate>
                            <TextBlock VerticalAlignment="Center" Text="{Binding Path=quantite}"/>
                        </DataTemplate>
                    </GridViewColumn.CellTemplate>
                </GridViewColumn>
 
                <GridViewColumn Header="Date" Width="100">
                    <GridViewColumn.CellTemplate>
                        <DataTemplate>
                            <TextBlock VerticalAlignment="Center" Text="{Binding Path=date_peremption}"/>
                        </DataTemplate>
                    </GridViewColumn.CellTemplate>
                </GridViewColumn>
 
                <GridViewColumn Header="Favoris" Width="50">
                    <GridViewColumn.CellTemplate>
                        <DataTemplate>
                            <CheckBox HorizontalAlignment="Center" VerticalAlignment="Center" IsChecked="{Binding Path=favoris}" Checked="CheckBox_Checked"  Unchecked="CheckBox_Unchecked" />
                        </DataTemplate>
                        </GridViewColumn.CellTemplate>
                </GridViewColumn>
 
                </GridView>
        </ListView.View>
    </ListView>
Bien sûr j'aimerai bien mettre à jour ma table lorsque l'utilisateur coche ou décoche la check box. Seul hic, quand je récupere l'event checked ou unchecked, j'arrive à savoir si elle est cochée ou pas mais j'ai aucune idée de la "ligne" concernée et donc de l'id à mettre à jour ...

Es ce que vous pourriez me donner une piste ?

EN vous remerciant par avance,


Charles