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

Services Web Discussion :

RIA service Grid


Sujet :

Services Web

Vue hybride

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

    Informations forums :
    Inscription : Septembre 2007
    Messages : 38
    Par défaut RIA service Grid
    Bonjour à tous,

    je précise je debute en silverght and co.

    Mon problème est que je n'arrive pas à obtenir un element d'une table lié lors de la creation d'une grille par RIA services.

    Je développe :

    Voici ma bdd



    J'ai ensuite crée son domaine service associé avec le fichier metadata


    voici mes deux classes
    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
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
     
    Option Compare Binary
    Option Infer On
    Option Strict On
    Option Explicit On
     
    Imports SiteWeb
    Imports System
    Imports System.Collections.Generic
    Imports System.ComponentModel
    Imports System.ComponentModel.DataAnnotations
    Imports System.Data.Objects.DataClasses
    Imports System.Linq
    Imports System.ServiceModel.DomainServices.Hosting
    Imports System.ServiceModel.DomainServices.Server
     
     
    'MetadataTypeAttribute identifie DEPARTEMENTMetadata comme la classe
    ' qui comporte des métadonnées supplémentaires pour la classe DEPARTEMENT.
    <MetadataTypeAttribute(GetType(DEPARTEMENT.DEPARTEMENTMetadata))>  _
    Partial Public Class DEPARTEMENT
     
        'Cette classe vous permet d'attacher des attributs personnalisés aux propriétés 
        ' de la classe DEPARTEMENT.
        '
        'Par exemple, le code suivant marque la propriété Xyz en tant que
        ' propriété requise et spécifie le format pour les valeurs valides*:
        '    <Required()>
        '    <RegularExpression("[A-Z][A-Za-z0-9]*")>
        '    <StringLength(32)>
        '    Public Property Xyz As String
        Friend NotInheritable Class DEPARTEMENTMetadata
     
            'Les classes de métadonnées ne sont pas conçues pour être instanciées.
            Private Sub New()
                MyBase.New
            End Sub
     
            Public Property CODE As String
     
            Public Property ID As Integer
     
            Public Property NAME As String
     
            Public Property REGION As REGION
     
            Public Property REGION_ID As Integer
        End Class
    End Class
     
    'MetadataTypeAttribute identifie REGIONMetadata comme la classe
    ' qui comporte des métadonnées supplémentaires pour la classe REGION.
    <MetadataTypeAttribute(GetType(REGION.REGIONMetadata))>  _
    Partial Public Class REGION
     
        'Cette classe vous permet d'attacher des attributs personnalisés aux propriétés 
        ' de la classe REGION.
        '
        'Par exemple, le code suivant marque la propriété Xyz en tant que
        ' propriété requise et spécifie le format pour les valeurs valides*:
        '    <Required()>
        '    <RegularExpression("[A-Z][A-Za-z0-9]*")>
        '    <StringLength(32)>
        '    Public Property Xyz As String
        Friend NotInheritable Class REGIONMetadata
     
            'Les classes de métadonnées ne sont pas conçues pour être instanciées.
            Private Sub New()
                MyBase.New
            End Sub
     
            <Include()>
            Public Property DEPARTEMENT As EntityCollection(Of DEPARTEMENT)
     
            Public Property ID As Integer
     
            Public Property NAME As String
        End Class
    End Class

    J'ai ensuite fait un drag and drop d'un élément de ma source de donnée (DEPARTEMENT) qui m'a crée automatiquement une grille

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     <sdk:DataGrid AutoGenerateColumns="False" Grid.Row="1" Height="200" HorizontalAlignment="Left" ItemsSource="{Binding ElementName=DEPARTEMENTDomainDataSource, Path=Data}" Margin="0,15,0,0" Name="DEPARTEMENTDataGrid" RowDetailsVisibilityMode="VisibleWhenSelected" VerticalAlignment="Top" Width="400">
                <sdk:DataGrid.Columns>
                    <sdk:DataGridTextColumn x:Name="CODEColumn" Binding="{Binding Path=CODE}" Header="Code Postal" Width="SizeToHeader" />
                    <sdk:DataGridTextColumn x:Name="IDColumn" Binding="{Binding Path=ID, Mode=OneWay}" Visibility="Collapsed" Header="ID" IsReadOnly="True" Width="SizeToHeader" />
                    <sdk:DataGridTextColumn x:Name="NAMEColumn" Binding="{Binding Path=NAME}" Header="Nom" Width="Auto" />
                    <sdk:DataGridTextColumn x:Name="REGION_IDColumn" Binding="{Binding Path=REGION_ID}" Visibility="Collapsed" Header="REGION ID" Width="SizeToHeader" />
                </sdk:DataGrid.Columns>
            </sdk:DataGrid>

    J'ai beau avoir mis include dans la classe j'ai soit seulement l'id de la region de visible et non son nom ou bien si je drag and drop l'element region j'ai bien une grille de l'ensemble des regions mais du coup il affiche l'ensemble des departements sous forme d'objet

    Pourtant j'ai bien modifier la requete d'insertion en ajoutant un include

    Public Function GetREGION() As IQueryable(Of REGION)
    Return Me.ObjectContext.REGION.Include("DEPARTEMENT")
    End Function

  2. #2
    Membre émérite
    Homme Profil pro
    Développeur / architecte
    Inscrit en
    Juillet 2009
    Messages
    473
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur / architecte

    Informations forums :
    Inscription : Juillet 2009
    Messages : 473
    Par défaut
    Faudrait d'abord être certain de ce que tu veux faire. Je suis pas certain d'avoir compris...
    Tu as une requête qui sélectionne les regions, mais qui doit aussi afficher les départements... C'est normal que le designer ne comprenne rien... Une région a plusieurs département (une collection de départements attachés), il ne peut donc pas l'afficher de manière simple.
    Si tu fais le contraire: tu requêtes les départements et tu affiche l'unique région attachée, ça marchera sans doute mieux !
    Le designer ne peut pas déduire comment afficher une liste de département (par ligne) tout seul!

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

    Informations forums :
    Inscription : Septembre 2007
    Messages : 38
    Par défaut
    J'ai finalement reussie en créant une procedure stockée ce qui m'a permis de créer une classe qui liste mes departements en fonction des regions.


    Par contre que je groupe :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     <riaControls:DomainDataSource.GroupDescriptors>
                    <riaControls:GroupDescriptor PropertyPath="REGION_ID"  />
                </riaControls:DomainDataSource.GroupDescriptors>

    Il m'affiche en titre l'identifiant de la region (jusque la normal) sauf que je voudrais qu'il m'affiche son nom dois je group par le nom ? le probleme est que par l'ID s'est forcement plus sur ?

Discussions similaires

  1. Réponses: 6
    Dernier message: 01/11/2009, 08h20
  2. .Net RIA Services et les règles de Validations
    Par Steven62 dans le forum Silverlight
    Réponses: 4
    Dernier message: 26/08/2009, 15h08
  3. RIA Services LazyLoading
    Par Xeron dans le forum Silverlight
    Réponses: 1
    Dernier message: 25/08/2009, 17h19
  4. Silverlight 3, RIA Services - En Prévision..
    Par 3KyNoX dans le forum Silverlight
    Réponses: 4
    Dernier message: 17/07/2009, 13h49
  5. XMLParserexection dans DomaiDataSource (.NET Ria Service)
    Par bleuerouge dans le forum Silverlight
    Réponses: 1
    Dernier message: 22/06/2009, 03h43

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