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 :

Parcourir un DataGrid en WPF [Débutant]


Sujet :

Windows Presentation Foundation

  1. #1
    Membre averti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2015
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2015
    Messages : 40
    Par défaut Parcourir un DataGrid en WPF
    Bonjour,

    Voici mon XAML:

    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
     
    <!-- Le combobox qui est présent dans mon datagridview -->
    <DataTemplate x:Key="CustomLimitationTemplate">
                <StackPanel>
                    <ComboBox>
                        <ComboBoxItem>Aucune</ComboBoxItem>
                        <ComboBoxItem>Légère</ComboBoxItem>
                        <ComboBoxItem>Modérée</ComboBoxItem>
                        <ComboBoxItem>Forte</ComboBoxItem>
                        <ComboBoxItem>Totale</ComboBoxItem>
                    </ComboBox>
                </StackPanel>
            </DataTemplate>
     
    ...
    <!- Mon DataGridView -->
    <DataGrid AutoGenerateColumns="False" VerticalAlignment="Stretch" Grid.Row="2" Name="dg1" RowDetailsVisibilityMode="Collapsed" ItemsSource="{Binding Source={StaticResource XmlData},XPath=Limits/*}">
                    <DataGrid.Columns>
                        <DataGridTextColumn Header="ID" x:Name="IdColumn" Binding="{Binding XPath=Id}" />
                        <DataGridTemplateColumn Header="Capacite" CellTemplate="{StaticResource CustomCapacityTemplate}" Width="480" />
                        <DataGridTemplateColumn Header="Limitation" x:Name="LimitationColumn" CellTemplate="{StaticResource CustomLimitationTemplate}" Width="150" />
                        <DataGridTemplateColumn Header="Aide" CellTemplate="{StaticResource CustomDetailTemplate}" Width="97" />
                    </DataGrid.Columns>
                </DataGrid>
    J'aurais besoin e récupéré la colonne ID et la valeur du combobox dans la colonne limitation. Pour ce faire je voulais essayer un code tel que:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    for(int i=0; i < dg1.Rows.Count; i++)
    {
        int id = dg1.Columns[0].getValue(); //Récupérer l'ID de la première colonne
        // Récupérer la valeure présente dans le ComboBox
        string limit = dg1.Columns[2].GetValue.ToString();
    }
    J'ai essayé pas mal d'exemple présent sur internet, mais tous ou presque sont valable pour WinForm et non pas pour WPF :/ Pour les autres ils ont simplement rien à voir :/

    J'espère que vous saurez m'aider.

    Meilleures salutations.

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 562
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 562
    Par défaut
    si tu veux en wpf on resonne pas comme ca
    il faut binder les elements sur ta collection et sur des sous elements
    et au moyen d'un mvvm reccuperer les information directement dans ton object
    je sais pas si tu vois ce que je veux dire
    mais je vais te filer un exemple

    imagine que tu ai dans ta classe un element d'un type enum de quelque chose
    par exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    enum toto {
     alpha,
    beta,
    }
     
    et dans ta classe
    toto montoto { get; set; }
    dans ce cas la tu collerais une combo qui possède les elements de l'enum
    binder le itemssource de celle ci sur un element static reprensentant les valeurs de l'enum (tu regardera sur le net il faut chercher enum getvalue binding itemssource)
    et binder sur la meme combo le selecteditem sur le montoto de ta classe

    et comme ca tu resou le probleme
    on ne parse plus les object on bind simplement

    dans ton cas tu fais la meme chose tu verra c'est plus simple

  3. #3
    Membre averti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2015
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2015
    Messages : 40
    Par défaut
    Salut,

    J'ai rien compris Mais je te remercie de ta réponse quand même.

    On ne peut pas faire ça simplement ?

  4. #4
    Membre très actif Avatar de Issam
    Inscrit en
    Mars 2002
    Messages
    580
    Détails du profil
    Informations personnelles :
    Âge : 49

    Informations forums :
    Inscription : Mars 2002
    Messages : 580
    Par défaut
    1- comment tu remplis ta comobobox
    2- a quel endroit tu veux récupérer sa valeur

  5. #5
    Membre Expert
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 562
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 562
    Par défaut
    Citation Envoyé par cryptelyos Voir le message
    Salut,

    J'ai rien compris Mais je te remercie de ta réponse quand même.

    On ne peut pas faire ça simplement ?
    ben en fait c'est simple lol
    fait ca dans une fenetre
    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
    <Window x:Class="YourNamespace.MainWindow"
            xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
            xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
            xmlns:System="clr-namespace:System;assembly=mscorlib"
            xmlns:StyleAlias="clr-namespace:Motion.VideoEffects">
        <Window.Resources>
            <ObjectDataProvider x:Key="dataFromEnum" MethodName="GetValues"
                                ObjectType="{x:Type System:Enum}">
                <ObjectDataProvider.MethodParameters>
                    <x:Type TypeName="StyleAlias:EffectStyle"/>
                </ObjectDataProvider.MethodParameters>
            </ObjectDataProvider>
        </Window.Resources>
        <Grid>
            <ComboBox ItemsSource="{Binding Source={StaticResource dataFromEnum}}"
                      SelectedItem="{Binding Path=CurrentEffectStyle}" />
        </Grid>
    </Window>
    et tu rajouter un (dans le code de ta fenetre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    public class MonObject{
      public EffectStyle CurrentEffectStyle { get; set; } // tu remplira le get et le set pour voir que ca passe dedans quand tu change la selection
    }
     
    dans le initialize de ta fenete
    this.DataContext = new MonObject();
    avec ca tu devrais comprendre
    (tu peux changer l'enum que tu veux utiliser regarde les elements en gras)

  6. #6
    Membre averti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2015
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2015
    Messages : 40
    Par défaut
    Salut,

    Merci pour ton aide. Je comprends où tu veux en venir mais je n'arrive pas à recréer seul le schémas.

    Voici donc ma class:

    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
    public class GetValueFromDataGrid {
            public string getID { get; set; } //First column
            public string getLimit { get; set; } // Combobox
        }
    
    public partial class MainWindow : Window
        {
            public MainWindow()
            {
                InitializeComponent();
                this.DataContext = new GetValueFromDataGrid();
            }
    
            private void MenuPDF_Click(object sender, RoutedEventArgs e)
            {
                string stagiaire = checkValue(nom_stagiaire.Text);
                string profession = checkValue(this.profession.Text);
                string evaluateur = checkValue(nom_evaluateur.Text);
                string date = checkValue(date_evaluation.Text.ToString());
                string travail_evaluateur = checkValue(choix_evaluateur.Text.ToString());
                string base_de_donnee = checkValue(this.base_de_donnee.Text.ToString());
                string contexte = checkValue(this.contexte.Text.ToString());
    
                // C'est ici que je veux récupérer les valeurs de ID et celles de la combobox pour chaque ligne du datagrid
                // Mais je ne sais pas quoi faire de ton code :/
    
                //PDF pdf = new PDF(stagiaire, profession, evaluateur, date, travail_evaluateur, base_de_donnee, contexte, et_ici_un_tableau_des_valeurs_récupérées);
            }
    }

  7. #7
    Membre Expert
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 562
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 562
    Par défaut
    fait moi un projet exemple simple que tu colle ici en liens
    avec une combo dedans et la ou tu veux reccup l'id et je te le corrige ca te va

  8. #8
    Membre averti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2015
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2015
    Messages : 40
    Par défaut
    Salut,

    Merci beaucoup pour ton soutient.


    XAML
    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
     
    <Window x:Class="WpfApplication1.MainWindow"
            xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
            xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
            xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
            xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
            xmlns:local="clr-namespace:WpfApplication1"
            mc:Ignorable="d"
            Title="MainWindow" Height="350" Width="525">
        <Window.Resources>
            <DataTemplate x:Key="CustomLimitationTemplate">
                <StackPanel>
                    <ComboBox>
                        <ComboBoxItem>Aucune</ComboBoxItem>
                        <ComboBoxItem>Légère</ComboBoxItem>
                        <ComboBoxItem>Modérée</ComboBoxItem>
                        <ComboBoxItem>Forte</ComboBoxItem>
                        <ComboBoxItem>Totale</ComboBoxItem>
                    </ComboBox>
                </StackPanel>
            </DataTemplate>
        </Window.Resources>
        <Grid>
            <Grid.RowDefinitions>
                <RowDefinition Height="25" />
                <RowDefinition Height="*" />
            </Grid.RowDefinitions>
            <Button Click="Button_Click" Grid.Row="0">Clic ici pour récupérer Id et valeur du combobox</Button>
            <DataGrid Grid.Row="1" AutoGenerateColumns="False" VerticalAlignment="Stretch" Name="MyDataGrid" RowDetailsVisibilityMode="Collapsed" ItemsSource="{Binding}">
                <DataGrid.Columns>
                    <DataGridTextColumn Header="ID" x:Name="IdColumn" Binding="{Binding Path=MyID}"/>
                    <DataGridTemplateColumn Header="Limitation" x:Name="LimitationColumn" CellTemplate="{StaticResource CustomLimitationTemplate}" Width="150" />
                </DataGrid.Columns>
            </DataGrid>
        </Grid>
    </Window>
    C#:
    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
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
     
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows;
    using System.Windows.Controls;
    using System.Windows.Data;
    using System.Windows.Documents;
    using System.Windows.Input;
    using System.Windows.Media;
    using System.Windows.Media.Imaging;
    using System.Windows.Navigation;
    using System.Windows.Shapes;
     
    namespace WpfApplication1
    {
     
        public class Person
        {
            public int MyID { get; set; }
     
            public Person(int id)
            {
                MyID = id;
            }
        }
     
        public class Persons : List<Person>
        {
            public Persons()
            {
     
            }
            public new void Add(Person p)
            {
                base.Add(p);
            }
        }
        /// <summary>
        /// Interaction logic for MainWindow.xaml
        /// </summary>
        public partial class MainWindow : Window
        {
            public MainWindow()
            {
                InitializeComponent();
                Persons persons = new Persons();
                persons.Add(new Person(1));
                persons.Add(new Person(2));
                persons.Add(new Person(3));
                persons.Add(new Person(4));
                persons.Add(new Person(5));
     
                MyDataGrid.DataContext = persons;
     
            }
     
            private void Button_Click(object sender, RoutedEventArgs e)
            {
                MessageBox.Show("variable id + variable combobox", "Valeurs récupérée :)");
            }
        }
    }

  9. #9
    Membre Expert
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 562
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 562
    Par défaut
    voila le code que je t'ai refait la tu reccup directement dans limitation de person la valeur
    grace au binding
    en cliquant sur le bouton tu aura l'affichage de ce qui se trouve dans chaque classe

    bon la binding sur une combo marche bien tu verra sur la combo que j'ai placé au dessus
    toutefois avec la structure dans le datagrid ca deconnait alors j'ai reglé ca

    pour tester les changement tu peux mettre un point d'arrete la dessus
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    _Limitation = value;
    if (PropertyChanged != null)
           PropertyChanged(this, new PropertyChangedEventArgs("Limitation"));
    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
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
      public partial class MainWindow : Window
        {
            public MainWindow()
            {
                InitializeComponent();
                Persons persons = new Persons();
                persons.Add(new Person(4));
                persons.Add(new Person(5));
                this.DataContext = persons;
            }
     
            private void Button_Click(object sender, RoutedEventArgs e)
            {
                Console.WriteLine((this.DataContext as Persons).ToString());
            }
     
        }
     
        public enum PersonneLimitation
        {
            Aucune,
            Légère,
            Modérée,
            Forte,
            Totale,
        }
     
        public class Person : INotifyPropertyChanged
        {
            public int MyID { get; set; }
            //public PersonneLimitation Limitation { get; set; }
            private PersonneLimitation _Limitation = PersonneLimitation.Modérée;
            public PersonneLimitation Limitation
            {
                get { return _Limitation; }
                set
                {
                    _Limitation = value;
                    if (PropertyChanged != null)
                        PropertyChanged(this, new PropertyChangedEventArgs("Limitation"));
                }
            }
            public Person() { } // constructeur pour l'element <local:personn x:key="pp" />
            public Person(int id = 0)
            {
                MyID = id;
            }
     
            public override string ToString()
            {
                return " - Personne : " + this.MyID + " limitation : " + this.Limitation;
            }
     
            public event PropertyChangedEventHandler PropertyChanged;
        }
     
        public class Persons : ObservableCollection<Person>
        {
            public override string ToString()
            {
                string s = "";
                foreach (var item in this)
                {
                    s += item.ToString() + "\n";
                }
                return s;
            }
        }
    et pour le xaml
    (reprend que le code qui t'interresse fait attention au xmlns)
    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
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
     
    <Window x:Class="test_binding_enum.MainWindow"
            xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
            xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
            xmlns:System="clr-namespace:System;assembly=mscorlib"
            xmlns:local="clr-namespace:test_binding_enum"
            Title="MainWindow"
            Height="350"
            Width="525">
        <Window.Resources>
            <ObjectDataProvider x:Key="dataFromEnum"
                                MethodName="GetValues"
                                ObjectType="{x:Type System:Enum}">
                <ObjectDataProvider.MethodParameters>
                    <x:Type TypeName="local:PersonneLimitation" />
                </ObjectDataProvider.MethodParameters>
            </ObjectDataProvider>
            <DataTemplate x:Key="CustomLimitationTemplate">
                <StackPanel Orientation="Horizontal">
                    <TextBlock Text="{Binding .}" />
                    <ComboBox ItemsSource="{Binding Source={StaticResource dataFromEnum}}"
                              SelectedItem="{Binding Limitation, Mode=TwoWay}"
                              >
                    </ComboBox>
                </StackPanel>
            </DataTemplate>
            <local:Person x:Key="pp" />
        </Window.Resources>
        <Grid>
            <Grid.RowDefinitions>
                <RowDefinition Height="30" />
                <RowDefinition Height="25" />
                <RowDefinition Height="*" />
            </Grid.RowDefinitions>
            <ComboBox ItemsSource="{Binding Source={StaticResource dataFromEnum}}"
                      SelectedItem="{Binding Limitation, Source={StaticResource pp}}" />
            <Button Click="Button_Click"
                    Grid.Row="1">Clic ici pour récupérer Id et valeur du combobox</Button>
            <DataGrid Grid.Row="2"
                      AutoGenerateColumns="False"
                      VerticalAlignment="Stretch"
                      Name="MyDataGrid"
                      RowDetailsVisibilityMode="Collapsed"
                      ItemsSource="{Binding}">
                <DataGrid.Columns>
                    <DataGridTextColumn Header="ID"
                                        x:Name="IdColumn"
                                        Binding="{Binding Path=MyID}" />
                    <DataGridComboBoxColumn Header="Limitation xxxx"
                                            x:Name="IdColumn2"
                                            ItemsSource="{Binding Source={StaticResource dataFromEnum}}"
                                            SelectedItemBinding="{Binding Limitation}">
     
                    </DataGridComboBoxColumn>
                    <DataGridTemplateColumn Header="Limitation"
                                            x:Name="LimitationColumn"
                                            CellTemplate="{StaticResource CustomLimitationTemplate}"
                                             />
                </DataGrid.Columns>
            </DataGrid>
        </Grid>
    </Window>
    le datagrid c pas top utilise plutot un listview, ca marche mieux
    mais la c'est fonctionnel tout de meme (la colonne limitation xxxxx)

  10. #10
    Membre averti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2015
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2015
    Messages : 40
    Par défaut
    Salut,

    Désolé pour le temps de réponse, j'étais pu là quelques temps.

    J'ai essayé ta solution, de l'adapter, etc. il me dit que PersonneLimitation n'est pas trouvé dans le namespace. (pourtant c'est le bon :/) en me soulignant <x:Type.

    Si tu as une idée`?

  11. #11
    Membre averti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2015
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2015
    Messages : 40
    Par défaut
    Correction !

    J'ai suivi ton conseil, j'ai recréer une listView

    Je vais me pencher dessus et ouvrirai si besoin un autre ticket

  12. #12
    Membre Expert
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 562
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 562
    Par défaut
    marque ton post en résolu et met le dernier code ça peut aider des gens
    merci

  13. #13
    Membre averti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2015
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2015
    Messages : 40
    Par défaut
    En suivant les conseils d'ikeas, que je remercie, mes codes passent en ListView plutôt qu'en GridView comme c'était le cas jusque ici.

    Un nouveau poste à donc été créer: http://www.developpez.net/forums/d15...x/#post8468351

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

Discussions similaires

  1. DataGrid en WPF, parcours du combattant
    Par titourock dans le forum Windows Presentation Foundation
    Réponses: 18
    Dernier message: 20/08/2009, 14h40
  2. Equivalent du datagrid en WPF
    Par demando77 dans le forum Windows Presentation Foundation
    Réponses: 2
    Dernier message: 07/08/2008, 19h14
  3. Parcourir un Datagrid
    Par Vince dans le forum C#
    Réponses: 8
    Dernier message: 28/02/2008, 14h11
  4. Pb pour parcourir une Datagrid Sheridan SSDBGrid
    Par hn2k5 dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 18/01/2007, 14h14
  5. [C#] Comment parcourir un datagrid ?
    Par DBS dans le forum ASP.NET
    Réponses: 9
    Dernier message: 04/01/2006, 17h08

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