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

Silverlight Discussion :

Parcours des objets en XAML [Débutant]


Sujet :

Silverlight

  1. #1
    Membre averti
    Homme Profil pro
    Inscrit en
    Avril 2012
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes de Haute Provence (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Avril 2012
    Messages : 16
    Par défaut Parcours des objets en XAML
    Bonjour

    Ma question est surement une question de débutant, et je pense que la question a due être poser ailleurs sur ce forum mais je ne l'ai pas trouver.

    1) Je souhaiterai faire de l'affichage d'objet composer de un ou plusieurs sous objet.

    Pour cela, je fais mon Binding sur un RIA DomainDataSource pour que tout mes éléments de ma Grid puisse par la suite accéder au différent champ de mon objet en leur donnant le path.

    Code xaml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <sdk:DataGrid ItemsSource="{Binding ElementName=modelDomainDataSource, Path=Data}">
         <sdk:DataGrid.Columns>
               <sdk:DataGridTextColumn x:Name="basePriceColumn" Binding="{Binding Path=BasePrice}" Header="Base Price" />
                <sdk:DataGridTextColumn x:Name="iDColumn" Binding="{Binding Path=ID, Mode=OneWay}" Header="ID" IsReadOnly="True" />
                 <sdk:DataGridTextColumn x:Name="makeIDColumn" Binding="{Binding Path=MakeID}" Header="Make ID" />
                 <sdk:DataGridTextColumn x:Name="nameColumn" Binding="{Binding Path=Name}" Header="Name" />
         </sdk:DataGrid.Columns>
    </sdk:DataGrid>

    J'ai donc rajouter pour avoir le nom de mon objet représenter par MakeID la column suivante :

    Code xaml : Sélectionner tout - Visualiser dans une fenêtre à part
    <sdk:DataGridTextColumn x:Name="makeName" Binding="{Binding Path=Make.Name}" Header="Make Name" Width="SizeToHeader" />

    Cela me donne une joli column vide et je n'arrive pas à obtenir que mon objet Make contenu dans Model ne soit pas vide (J'ai fais un affichage du contenu de Model.Make , il me retourne NULL).

    2) Une fois cette étape passer, j'aimerais faire Combox et un AutoCompleteBox qui me permettrai d'avoir dans l'ItemList (ou DataContext), la liste des entités Make. Et une fois sélectionné, cela mette à jour l'entité Model.

    Merci d'avance.

  2. #2
    Nouveau candidat au Club
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Avril 2012
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Services de proximité

    Informations forums :
    Inscription : Avril 2012
    Messages : 2
    Par défaut
    Tu dois certainement utiliser RIA Services pour accéder à tes données.
    Par défaut les fonctions de récupération de tes données n'incluent pas les tables "filles" (clé étrangère), ce qui explique que l'ID s'affiche et non les colonnes de ta table "Make".

    Dans ton projet web : tu dois avoir un fichier "xxxxService.cs" quelque part (tout dépend comment tu as nommé ton service).

    Ce fichier contient toutes les méthodes CRUD de base (Get, insert, update, delete) pour chaque entité.

    Quelque chose comme ça:

    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
     
            // TODO:
            // Consider constraining the results of your query method.  If you need additional input you can
            // add parameters to this method or create additional query methods with different names.
            // To support paging you will need to add ordering to the 'Events' query.
            public IQueryable<Event> GetEvents()
            {
                return this.ObjectContext.Events;
            }
     
            public void InsertEvent(Event _event)
            {
                if ((_event.EntityState != EntityState.Detached))
                {
                    this.ObjectContext.ObjectStateManager.ChangeObjectState(_event, EntityState.Added);
                }
                else
                {
                    this.ObjectContext.Events.AddObject(_event);
                }
            }
     
            public void UpdateEvent(Event currentEvent)
            {
                this.ObjectContext.Events.AttachAsModified(currentEvent, this.ChangeSet.GetOriginal(currentEvent));
            }
     
            public void DeleteEvent(Event _event)
            {
                if ((_event.EntityState != EntityState.Detached))
                {
                    this.ObjectContext.ObjectStateManager.ChangeObjectState(_event, EntityState.Deleted);
                }
                else
                {
                    this.ObjectContext.Events.Attach(_event);
                    this.ObjectContext.Events.DeleteObject(_event);
                }
            }
    Tu dois simplement appeler la méthode Include dans la méthode get (de ton entité contenant les clés étrangères de ton entité Make) comme ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     public IQueryable<Event> GetEvents()
            {
                return this.ObjectContext.Events.Include("Make");
            }
    Tu compiles et ça devrait fonctionner.

  3. #3
    Membre averti
    Homme Profil pro
    Inscrit en
    Avril 2012
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes de Haute Provence (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Avril 2012
    Messages : 16
    Par défaut
    Effectivement, c'était tellement simple que je n'avais pas trouvé la réponse sur les forums.

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

Discussions similaires

  1. Parcour d'un tableau contenant des objets
    Par Super_carotte dans le forum Langage
    Réponses: 6
    Dernier message: 09/12/2011, 16h40
  2. Parcours des champs au sein d'un objet
    Par Mahara dans le forum Langage
    Réponses: 2
    Dernier message: 17/04/2009, 13h21
  3. Réponses: 1
    Dernier message: 10/02/2008, 12h05
  4. Parcours des objets
    Par Mister Nono dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 15/12/2006, 21h38
  5. Importer des objets de 3dsMax
    Par Anonymous dans le forum OpenGL
    Réponses: 3
    Dernier message: 06/05/2002, 13h53

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