IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

[Debutant]] WPF Datagrid RowEditEditing


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    219
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2002
    Messages : 219
    Par défaut [Debutant]] WPF Datagrid RowEditEditing
    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

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    219
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2002
    Messages : 219
    Par défaut
    Je ne sais pas pourquoi,

    mais de revenir à la forme la plus simple fonctionne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
            <DataGrid AutoGenerateColumns="False" Height="296" HorizontalAlignment="Left" Margin="12,48,0,0" Name="dataGrid1" AlternatingRowBackground="Aqua" 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" />
                    <DataGridCheckBoxColumn Header="Sommeil" Binding="{Binding sommeil}" Width="70" />
                    <DataGridCheckBoxColumn Header="Publie" Binding="{Binding publie}" Width="70"/>
                </DataGrid.Columns>
            </DataGrid>

Discussions similaires

  1. Ajouts en Masse [WPF] datagrid ou [Windows Form] Datagridview
    Par lerieure dans le forum Développement Windows
    Réponses: 0
    Dernier message: 05/12/2010, 13h58
  2. WPF - DataGrid du WPFToolKit : Accéder aux cellules pendant le chargement de la page
    Par YHDVP dans le forum Windows Presentation Foundation
    Réponses: 6
    Dernier message: 18/11/2009, 14h00
  3. [debutant] Verrouillage datagrid
    Par noname_971 dans le forum Windows Forms
    Réponses: 7
    Dernier message: 20/05/2009, 09h19
  4. C# WPF datagrid
    Par akkai dans le forum Windows Presentation Foundation
    Réponses: 2
    Dernier message: 08/01/2009, 16h15
  5. [debutant] Affichage datagrid
    Par noname_971 dans le forum ASP.NET
    Réponses: 4
    Dernier message: 05/11/2008, 10h26

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo