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

Windows Presentation Foundation Discussion :

affichage objet dans DataGrid [Débutant]


Sujet :

Windows Presentation Foundation

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2011
    Messages
    216
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2011
    Messages : 216
    Par défaut affichage objet dans DataGrid
    bonjour,

    j'ai fais des recherche sur internet afin de pouvoir modifier les données de mon datagrid ou modifier mon fichier xml depuis mon code c#.

    j'ai trouvé plein de chose (pour une fois) mais je ne comprend pas ce que j'ai trouvé (c'est pourtant en français).

    alors voila ce que j'ai fais:

    mon fichier xml (c'est le premier que je fais):

    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    <?xml version="1.0" encoding="utf-8"?>
     
    <scores>
     
      <score>
        <nom>test</nom>
        <valeur>11</valeur>
      </score>
     
      <score>
        <nom>retest</nom>
        <valeur>110</valeur>
      </score>
     
    </scores>

    j'ai creer ma datagrid et l'ai lié a mon fichier xml (il y a peut etre des choses qui ne servent a rien):

    Code xaml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
        <UserControl.Resources>
            <my:AddValueConverter x:Key="addValueConverter" />
            <XmlDataProvider x:Key="sauvegarde" Source="C:\Users\Bibi\Documents\Visual Studio 2010\Projects\jeu memo\jeu memo\Affichages\Plateau\testxml.xml" XPath="scores/score"/>
        </UserControl.Resources>
        <Grid>
     
            <Canvas>
                <DataGrid Name="grille" ItemsSource="{Binding Source={StaticResource sauvegarde}}"  AutoGenerateColumns="False" RowEditEnding="grille_RowEditEnding" >
                    <DataGrid.Columns>
                        <DataGridTextColumn Header="Index" Binding="{Binding Path=(ItemsControl.AlternationIndex), RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=DataGridRow}, Converter={StaticResource addValueConverter}, ConverterParameter=1}" />
                        <DataGridTextColumn Header="Nom" Binding="{Binding XPath=nom, Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"/>
                        <DataGridTextColumn Header="Score" Binding="{Binding XPath=valeur, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" SortDirection="Descending" />
                    </DataGrid.Columns>
                </DataGrid>
            </Canvas>

    dans le c#, pour enregistrer les données qui ont étées modifié je fais ça:

    Code c# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
            private void grille_RowEditEnding(object sender, DataGridRowEditEndingEventArgs e)
            {
                if (e.EditAction == DataGridEditAction.Commit)
                {
                    XmlDataProvider myXmlDataProvider = (XmlDataProvider)this.FindResource("sauvegarde");
                    myXmlDataProvider.Document.Save("C:\\Users\\Bibi\\Documents\\Visual Studio 2010\\Projects\\jeu memo\\jeu memo\\Affichages\\Plateau\\testxml.xml");
                    e.Cancel = true;
                }
            }

    ca marche bien.

    ce que je voudrais faire c'est pouvoir parcourir les lignes de ma datagrid, modifier des éléments de ma datagrid, rajouter des éléments dans ma datagrid, tout ca depuis mon code c#.

    c'est possible ? si oui pouvais vous m'aider car je suis en trait de me noyer.

    Merci.

  2. #2
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2011
    Messages
    216
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2011
    Messages : 216
    Par défaut affichage objet dans DataGrid
    Bonjour,

    j'ai renomé le sujet car j'ai modifié quelques elements dans mon programme, j'ai réussit a serializer et deserializer des objet en xml et inversement.

    maintenant je souhaite afficher mes objet dans mon DataGrid. j'ai trouvé ce tuto.

    mais le probleme c'est que je ne parviens pas a le faire marcher.

    voici mon code xaml:

    Code xaml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
            <DataGrid x:Name="liste_scores" ItemsSource="{Binding ElementName=This, Path=tabledonnees}" AutoGenerateColumns="False" Height="600" Width="500">
                <DataGrid.Columns>
                    <DataGridTextColumn Binding="{Binding path}" Header="path"/>
                    <DataGridTextColumn Binding="{Binding dir}" Header="dir" />
                </DataGrid.Columns>
            </DataGrid>

    et mon code c#:

    Code c# : 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
    private DataTable _tabledonnees;
            public DataTable tabledonnees { get { return _tabledonnees; } }
     
            public Classement(MainWindow window)
            {
                dificulte1 = new dificulte_score("dificulte1");
     
                dificulte1.Add(new score("test1", 12));
                dificulte1.Add(new score("test2", 10));
                dificulte1.Add(new score("test3", 5));
     
                _tabledonnees = new DataTable();
                _tabledonnees.Columns.Add(new DataColumn("path", typeof(string)));
                _tabledonnees.Columns.Add(new DataColumn("dir", typeof(string)));
     
                foreach (score sc in dificulte1._dificulte)
                {
                    var row = _tabledonnees.NewRow();
                    row["path"] = sc._nom;
                    row["dir"] = sc._score.ToString();
                    _tabledonnees.Rows.Add(row);
                }

    le probleme c'est que mon datagrid ne se remplie pas, je ne voit pas ce qu'il manque (ou ce que j'ai mal fait).

    Merci de m'aider.

  3. #3
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2011
    Messages
    216
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2011
    Messages : 216
    Par défaut
    re bonjour,

    j'ai trouvé le probleme !!!!!!

    en fait, j'avais oublier de mettre:


    a mon usercontrol.

    Merci.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Flex3] affichage objet dans le datagrid
    Par sinfos dans le forum Flex
    Réponses: 3
    Dernier message: 10/10/2011, 19h50
  2. Probleme affichage données dans datagrid
    Par maxwel56 dans le forum Silverlight
    Réponses: 2
    Dernier message: 17/02/2010, 22h00
  3. affichage de "partie" d'objet dans jtabbedpane
    Par free-lance dans le forum AWT/Swing
    Réponses: 3
    Dernier message: 22/04/2008, 17h08
  4. affichage d'un objet dans <logic:iterate
    Par don'de dans le forum Struts 1
    Réponses: 2
    Dernier message: 06/03/2007, 22h31
  5. Réponses: 3
    Dernier message: 09/02/2003, 02h09

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