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 :

[Débutant] Datagrid ObservableCollection<T>


Sujet :

Windows Presentation Foundation

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Dev
    Inscrit en
    Janvier 2007
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Dev

    Informations forums :
    Inscription : Janvier 2007
    Messages : 12
    Par défaut [Débutant] Datagrid ObservableCollection<T>
    Bonjour,
    J'ai trois Classes:

    Utilisateur :
    string Nom
    string Prénom

    Application:
    string Nom
    string Chemin

    Droit:
    Utilisateur User
    Application Appli
    Bool Visualisation
    Bool Modification

    une Observablecollection<Droit> List

    Et une datagrid ItemsSource="{Binding Path=List, Mode=TwoWay}"

    Mon interrogation et quel est la méthode pour que ma datagrid affiche le nom et chemin application et les booléens ?

    Parce actuelement il expose :
    namespace.Utilisateur; namespace.Application; Visualisation; Modification

    Je voudrais ne pas ajouter de propriéter a Droit tel que String NomAppli{get{ return Appli.Nom } } je trouve ca pas beau.

    J'espére avoir été claire merci de vos lumiere

  2. #2
    Rédacteur
    Avatar de Nathanael Marchand
    Homme Profil pro
    Expert .Net So@t
    Inscrit en
    Octobre 2008
    Messages
    3 615
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Expert .Net So@t
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2008
    Messages : 3 615
    Par défaut
    Tu peux préciser toi même les colonnes à afficher.

  3. #3
    Membre averti
    Profil pro
    Dev
    Inscrit en
    Janvier 2007
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Dev

    Informations forums :
    Inscription : Janvier 2007
    Messages : 12
    Par défaut
    Citation Envoyé par Nathanael Marchand Voir le message
    Tu peux préciser toi même les colonnes à afficher.
    hum merci. Mais je ne vois pas trop ou ? et comment?

    parce que si je génére les colonnes en automatique ca ne fonctionne pas.
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
                    <DataGridTextColumn Binding="{Binding Path=Utilisateur , Mode=OneWay}" CanUserSort="False" Header="Utilisateur" IsReadOnly="True" />
                    <DataGridTextColumn Binding="{Binding Path=Application}" CanUserSort="False" Header="Application" />
                    <DataGridCheckBoxColumn Binding="{Binding Path=Visualisation}" Header="Visualisation" />
                    <DataGridCheckBoxColumn Binding="{Binding Path=Modification}" Header="Modification" />
    de même que si je modifie les colonnes du type:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <DataGridTextColumn Binding="{Binding Path=Application.Nom}" CanUserSort="False" Header="Application" />
    J'attend par "fonctionne pas" que ma grille est vide avec les bon entêtes
    Alors qu'elle est pleine si je supprime la définition des colonnes

  4. #4
    Rédacteur
    Avatar de Nathanael Marchand
    Homme Profil pro
    Expert .Net So@t
    Inscrit en
    Octobre 2008
    Messages
    3 615
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Expert .Net So@t
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2008
    Messages : 3 615
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <DataGridTextColumn Binding="{Binding Path=Application.Nom}" CanUserSort="False" Header="Application" />
    Devrait marcher

  5. #5
    Membre averti
    Profil pro
    Dev
    Inscrit en
    Janvier 2007
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Dev

    Informations forums :
    Inscription : Janvier 2007
    Messages : 12
    Par défaut
    Citation Envoyé par Nathanael Marchand Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <DataGridTextColumn Binding="{Binding Path=Application.Nom}" CanUserSort="False" Header="Application" />
    Devrait marcher
    ça marche !

    J'avais définis trop rapidement mes classes Utilisateur et Applications
    sans ajout proprement les (get set).

    Merci merci

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

Discussions similaires

  1. [C#][débutant]Datagrid modifier le style d'une cellule
    Par kuro-chan dans le forum Windows Forms
    Réponses: 4
    Dernier message: 16/02/2010, 16h44
  2. Réponses: 4
    Dernier message: 18/12/2009, 12h09
  3. [débutant] datagrid
    Par souaddemaroc dans le forum Débuter
    Réponses: 9
    Dernier message: 19/05/2006, 12h37
  4. [C#][Débutant] Datagrid, les colonnes ne se resizent pas automatiquement
    Par Cazaux-Moutou-Philippe dans le forum Windows Forms
    Réponses: 1
    Dernier message: 02/05/2006, 09h08
  5. Débutant : Comment ajouter une ligne à un DataGrid sur VB ?
    Par gamool dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 24/11/2005, 00h53

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