Bonjour,

Je n'arrive pas a rentrer dans la fonction RowEditEnding.
Le formulaire
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
<Window x:Class="IntegrationSage.modifarticle"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="modifarticle" Height="514" Width="816">
    <Grid>
        <DataGrid AutoGenerateColumns="False" Height="296" HorizontalAlignment="Left" Margin="12,48,0,0" Name="dataGrid1" VerticalAlignment="Top" Width="477" ItemsSource="{Binding}" FontSize="12" RowEditEnding="dataGrid1_RowEditEnding" CellEditEnding="dataGrid1_CellEditEnding" >
            <DataGrid.Columns>
                <DataGridTextColumn Header="Référence" Binding="{Binding ar_ref}" Width="90" IsReadOnly="True"/>
                <DataGridTextColumn Header="Libellé" Binding="{Binding ar_design}" Width="230" IsReadOnly="True"/>
                <DataGridTemplateColumn Header="Sommeil">
                    <DataGridTemplateColumn.CellTemplate>
                        <DataTemplate>
                            <CheckBox IsChecked="{Binding Path=sommeil, UpdateSourceTrigger=PropertyChanged}" HorizontalAlignment="Center" VerticalAlignment="Center" />
                        </DataTemplate>
                    </DataGridTemplateColumn.CellTemplate>
                </DataGridTemplateColumn>
                <DataGridTemplateColumn Header="Publie">
                    <DataGridTemplateColumn.CellTemplate>
                        <DataTemplate>
                            <CheckBox IsChecked="{Binding Path=publie}" HorizontalAlignment="Center" VerticalAlignment="Center"/>
                        </DataTemplate>
                    </DataGridTemplateColumn.CellTemplate>
                </DataGridTemplateColumn>                
            </DataGrid.Columns>
        </DataGrid>
 
    </Grid>
</Window>
Avec 4 Colonnes, dont les 2 checkbox (les autres valeurs sont en lecture seule).

La fonction de remplissage du tableau, qui fonctionne
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
        public modifarticle()
        {
            InitializeComponent();
            conf config = new conf();
            config.getConfig();
            string query = "select ar_ref, ar_design, ar_sommeil, ar_publie from s_article ";//where ar_publie = 0";
            DataTable dnoweb = sql.qsql(config.sql, query);
            dnoweb.Columns.Add("sommeil", System.Type.GetType("System.Boolean"));
            dnoweb.Columns.Add("publie", System.Type.GetType("System.Boolean"));
            foreach (DataRow dr in dnoweb.Rows)
            {
                if (dr[2].ToString() == "1") { dr[4] = true; } else { dr[4] = false; }
                if (dr[3].ToString() == "1") { dr[5] = true; } else { dr[5] = false; }
            }
            //DataContext = dnoweb;
            dataGrid1.ItemsSource = dnoweb.AsDataView();
 
 
        }
et enfin la fonction roweditending (pas finir de coder)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
        private void dataGrid1_RowEditEnding(object sender, DataGridRowEditEndingEventArgs e)
        {
            conf config = new conf();
            config.getConfig();
            int som = 0;
            int pub = 0;
            if (dataGrid1.Columns[3].ToString() == "true") { som = 1; }
 
            string query = "update f_article set ar_sommeil = " + ", ar_publie =";
 
        }
J'arrive a clicker sur les checkbox, je peux changer de ligne, mais jamais la fonction ne se lance.
Je ne sais pas ou est l'erreur

NB : En fait la procédure ne se lance pas uniquement pour les checkbox, pour les données de type textbox, le programme exécute bien la fonction roweditending.

Merci pour votre aide