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 :

[WPF] remplir une grid avec des strings


Sujet :

Windows Presentation Foundation

  1. #1
    Futur Membre du Club
    Inscrit en
    Mars 2011
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Mars 2011
    Messages : 8
    Points : 5
    Points
    5
    Par défaut [WPF] remplir une grid avec des strings
    Bonjour,

    Débutant en WPF et C#, j'aimerai simplement implémenter mes deux strings dans un objet grille à 2 colonnes (Nom,Prénom).
    Quand je tape grid1. je n'arrive pas à trouver une methode pour créer ligne et colonne et insérer mes variables. (pas de add, set, colums ??)
    Pouvez vous m'aider sur ce que je dois écrire ?


    Fichier .xaml
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
        <Grid>
            <Button Content="enjoy" Height="23" HorizontalAlignment="Left" Margin="402,95,0,0" Name="SearchButton" VerticalAlignment="Top" Width="75" Click="button1_Click" />
            <TextBox Height="23" HorizontalAlignment="Left" Margin="26,31,0,0" Name="SearchTextBoxN" VerticalAlignment="Top" Width="120" />
            <TextBox Height="23" HorizontalAlignment="Left" Margin="27,77,0,0" Name="SearchTextBoxP" VerticalAlignment="Top" Width="120" />
            <Grid Height="131" HorizontalAlignment="Left" Margin="27,159,0,0" Name="grid1" VerticalAlignment="Top" Width="393" />
        </Grid>


    Fichier cs
    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
     
         private void button1_Click(object sender, RoutedEventArgs e)
            {
                try
                {
                    string nom = SearchTextBoxN.Text;
                    string prenom = SearchTextBoxP.Text;
     
                    grid1. //que dois-je ecrire pour récuper mes champs dans 2 colonnes
     
                }
                catch (Exception Ex)
                {
                    Console.WriteLine(Ex.Message);
                }

    Merci pour votre aide.

  2. #2
    Membre expert
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    2 210
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 210
    Points : 3 015
    Points
    3 015
    Par défaut
    Salut,

    Si j'ai bien compris ce que tu veux, ce n'est pas du côté de la Grid qu'il faut regarder mais plutôt du côté de la DataGrid ou de la ListView.

    Si j'ai pas compris, on ajoutes des colonnes à une Grid via la propriété ColumnDefinitions.
    Pour les lignes c'est via la propriété RowDefinitions.

  3. #3
    Futur Membre du Club
    Inscrit en
    Mars 2011
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Mars 2011
    Messages : 8
    Points : 5
    Points
    5
    Par défaut
    Merci,

    Oui, c'est bien ce que je veux. J'ai modifié mon xaml pour avoir mes colonnes :
    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
    16
    17
     
    <Window x:Class="play_ADS.MainWindow"
            xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
            xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
            Title="play ADS" Height="350" Width="500">
        <Grid>
            <Button Content="enjoy" Height="23" HorizontalAlignment="Left" Margin="402,95,0,0" Name="SearchButton" VerticalAlignment="Top" Width="75" Click="button1_Click" />
            <TextBox Height="23" HorizontalAlignment="Left" Margin="26,31,0,0" Name="SearchTextBoxN" VerticalAlignment="Top" Width="120" />
            <TextBox Height="23" HorizontalAlignment="Left" Margin="27,77,0,0" Name="SearchTextBoxP" VerticalAlignment="Top" Width="120" />
            <DataGrid ItemsSource="{Binding}" AutoGenerateColumns="True" Height="141" HorizontalAlignment="Left" Margin="73,148,0,0" Name="dataGrid1" VerticalAlignment="Top" Width="330">
                <DataGrid.Columns>
                    <DataGridTextColumn Header="First Name" Binding="{Binding FirstName}"/>
                    <DataGridTextColumn Header="Last Name" Binding="{Binding LastName}" />
                </DataGrid.Columns>
            </DataGrid>
        </Grid>
    </Window>

    Par contre, au niveau du code, je ne trouve pas comment renseigner mes cellules. en regardant les exemples et en faisiant dataGrid1. je n'es jamais les même Methodes/Propriétés que dans les tutos.
    Faut t'il ecrire autre choses ?

    Merci.

  4. #4
    Membre expert
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    2 210
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 210
    Points : 3 015
    Points
    3 015
    Par défaut
    Le code que tu fournis utilises du binding (au vu de la propriété ItemsSource de la DataGrid et des DataGridTextColumn créées).

    Donc côté code C#, tu dois avoir une collection d'objet 'Personne'. Cet objet 'Personne' doit être constitué d'au moins deux propriété que sont :
    - FirstName
    - LastName

    Soit :
    Code c# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    public class Personne{
      public string FirstName { get; set; }
      public string LastName { get; set; }
     
      public Personne(){  }
      public Personne(string f, string l){ 
        this.FirstName = f;
        this.LastName = l;
      }
    }

    Ta collection de personne doit être créée et associées à ta DataGrid :
    Code c# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    ObservableCollection<Personne> obsPersonne = new ObservableCollection<Personne>();
    // On ajoute des valeurs à la collection
    obsPersonne.Add(new Personne("M.", "Dupond"));
    obsPersonne.Add(new Personne("J.", "Durand"));
    // On associe la collection au DataContext de la DataGrid :
    dataGrid1.DataContext = obsPersonne;

    Ça devrait être suffisant.

    ps: pour info, la propriété 'AutoGenerateColumns' de la DataGrid doit être mis à false si tu crées tes colonnes dans le xaml comme tu l'as fais

  5. #5
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Seals Voir le message
    Par contre, au niveau du code, je ne trouve pas comment renseigner mes cellules. en regardant les exemples et en faisiant dataGrid1. je n'es jamais les même Methodes/Propriétés que dans les tutos.
    Faut t'il ecrire autre choses ?
    J'ai l'impression que tu est en train de confondre Grid et DataGrid.
    Tu as besoin de quelles méthodes ?
    Tu as besoin de faire quoi plus exactement ?

  6. #6
    Futur Membre du Club
    Inscrit en
    Mars 2011
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Mars 2011
    Messages : 8
    Points : 5
    Points
    5
    Par défaut
    Merci vos réponses. j'ai +- compris le principe.
    En gros, je pensai que vu qu'on implémentait un Datagrid, on avait pas besoin de créer une collection; qu'on pouvait juste y renseigner les champs directement. (Je sais, ca va en faire rire certains)

    Au final c'est pour y renseigner des champs d'un annuaire LDAP. La connexion fonctionne, reste plus qu'a tout regrouper. encore klk heures...

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

Discussions similaires

  1. [MySQL] Remplir une table avec des données déjà existantes
    Par Bruno.C dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 08/07/2008, 08h28
  2. Remplir une ComboBox avec des fichiers
    Par Flo88 dans le forum VBA Access
    Réponses: 16
    Dernier message: 25/02/2008, 09h46
  3. remplir une table avec des données aléatoire
    Par jamal_id dans le forum SQL
    Réponses: 3
    Dernier message: 17/10/2007, 10h11
  4. Remplir une liste avec des noms de fichiers
    Par Claude_Azoulai dans le forum ASP.NET
    Réponses: 1
    Dernier message: 11/09/2007, 08h00
  5. [VBA-A]Remplir une textbox avec des données de tables.
    Par cuicui08 dans le forum VBA Access
    Réponses: 1
    Dernier message: 24/03/2006, 10h28

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