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 :

syntaxe XAML Binding First() ?


Sujet :

Silverlight

Vue hybride

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

    Informations forums :
    Inscription : Juillet 2005
    Messages : 14
    Par défaut syntaxe XAML Binding First() ?
    bonjour a tous,

    si quelqu'un peux me venir en aide :
    voila mon soucis
    j'ai une datagrid des colonnes tout fonctionne parfaitement

    mon domainedatasource remonte plusieurs tables
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    matable.Include("sousTable")
    il se trouve que pour chaque enregistrement de maTable je n'ai qu'un seul enregistrement dans ma sousTable

    le code suivant fonctionne donc très bien :

    Code xaml : 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
     
     <sdk:DataGridTemplateColumn x:Name="cod_X32Column" Header="Cod TWS" Width="Auto" CanUserSort="True" SortMemberPath="" >                               
                                    <sdk:DataGridTemplateColumn.CellTemplate>
                                        <DataTemplate>                                    
                                            <ItemsControl  ItemsSource="{Binding Path=sousTable}">                                            
                                                <ItemsControl.ItemTemplate>
                                                    <DataTemplate>
                                                        <StackPanel Orientation="Horizontal">
                                                            <TextBlock Text="{Binding Path=cod_X32, Mode=TwoWay}" />
                                                        </StackPanel>
                                                    </DataTemplate>
                                                </ItemsControl.ItemTemplate>
                                            </ItemsControl>
                                        </DataTemplate>
                                    </sdk:DataGridTemplateColumn.CellTemplate>
                                </sdk:DataGridTemplateColumn>

    le code précédent fonctionne, j'ai bien a l'écran ma colonne Cod_X32 valorisé mais j'aurais souhaité écrire cela de la façon suivante :

    Code xaml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
     <sdk:DataGridTemplateColumn x:Name="cod_X32Column" Header="Cod TWS" Width="Auto" CanUserSort="True" SortMemberPath="" >                               
                                    <sdk:DataGridTemplateColumn.CellTemplate>
                                        <DataTemplate>                                    
                                            <TextBlock Text="{Binding Path=sousTable[0].cod_X32, Mode=TwoWay}" />
                                        </DataTemplate>
                                    </sdk:DataGridTemplateColumn.CellTemplate>
                                </sdk:DataGridTemplateColumn>

    mais la cela ne fonctionne pas.

    le but caché est surtout de pouvoir rajouter CanUserSort="True" SortMemberPath="sousTable[0].cod_X32" afin de pouvoir trier les données par cette colonne
    d'avance merci pour toutes les pistes

    je pense que j'ai juste un problème de syntaxe XAML mais après pas mal de recherche sur le WEB et d'essais infructueux je me tourne vers vos cerveaux !

  2. #2
    Membre Expert
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2009
    Messages
    2 056
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2009
    Messages : 2 056
    Par défaut
    N'y a -t-il pas une erreur de binding dans la console?
    Quelle est elle?
    Sinon tu peux tester
    sousTable/cod_X32 qui indique que l'on souhaite le cod_x32 de l'element sous table actuellement sélectionné ( par défaut le premier).

  3. #3
    Membre confirmé
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Novembre 2011
    Messages
    104
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Novembre 2011
    Messages : 104
    Par défaut
    Bonjour,
    puisque tu utilise l'include, ne devrais tu pas simplement faire ainsi ?

    Code xaml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <sdk:DataGrid ItemsSource="{Binding Path=matable}" >
          <sdk:DataGrid.Columns>
                 <sdk:DataGridTextColumn Binding="{Binding Path=sousTable.cod_x32}"/>
           </sdk:DataGrid.Columns>
    </sdk:DataGrid>

  4. #4
    Membre averti
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2008
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 25
    Par défaut
    Dans l'exemple qui fonctionne, tu bindes bien le ItemsSource
    Code xaml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <ItemsControl  ItemsSource="{Binding Path=sousTable}">

    Dans ce que tu souhaites faire, sousTable n'est pas bindé.....

Discussions similaires

  1. SelectedItem Combobox XAML binding
    Par hbespoir2003 dans le forum Windows Presentation Foundation
    Réponses: 3
    Dernier message: 21/08/2011, 21h08
  2. XAML Binding condiionel depuis un label
    Par july4474 dans le forum Windows Presentation Foundation
    Réponses: 0
    Dernier message: 02/12/2010, 20h03
  3. [XAML] Binding de plusieurs ComboBox dans une ListBox
    Par thelpi dans le forum Windows Presentation Foundation
    Réponses: 5
    Dernier message: 08/12/2008, 09h17
  4. [Xaml] Binding Treeview optimisé
    Par Jérem22 dans le forum C#
    Réponses: 5
    Dernier message: 21/09/2007, 10h45
  5. [xaml] Bind sur le titre d'une page
    Par despeludo dans le forum Framework .NET
    Réponses: 6
    Dernier message: 21/03/2007, 09h07

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