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 :

Datagrid -> récupérer un DataGridColumnHeader


Sujet :

Silverlight

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre extrêmement actif
    Avatar de stailer
    Homme Profil pro
    Architecte technique
    Inscrit en
    Mars 2003
    Messages
    1 144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Hautes Pyrénées (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2003
    Messages : 1 144
    Billets dans le blog
    3
    Par défaut Datagrid -> récupérer un DataGridColumnHeader
    Bonjour,

    J'ai un datagrid dans lequel je voudrais récupérer un DataGridColumnHeader d'après un DataGridColumn.

    Lors de l'initialisation pas de souci, je parcours mes colonnes déjà créés je donne un nom à chaque DataGridColumnHeader de façon à pouvoir le récupérer.

    La ou ça devient plus compliqué, c'est quand j'ajoute des colonnes dynamiquement.. Avec les index c'est plus difficile de leur donner un nom.

    Alors évidemment pour le moment j'ai fait ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     AdvancedDataGridColumnTemplate dtg = this.Columns[index] as AdvancedDataGridColumnTemplate;
                    DataGridColumnHeader colHeader = this.presenter.Children.OfType<DataGridColumnHeader>().FirstOrDefault(c => c.Content.ToString() == dtg.Header.ToString());
    le "presenter" est le conteneur des entêtes ..
    Bien sur ce code fonctionne mais le problème c'est que si j'ai 2 colonnes avec la même entête dans le titre : c'est mort.

    D'ou ma question :
    Quelqu'un parmi vous saurait-il récupérer le DataGridColumnHeader correspondant à :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    AdvancedDataGridColumnTemplate dtg = this.Columns[index] as AdvancedDataGridColumnTemplate;
    En vous remerciant pour vos réponses,

  2. #2
    Membre extrêmement actif
    Avatar de stailer
    Homme Profil pro
    Architecte technique
    Inscrit en
    Mars 2003
    Messages
    1 144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Hautes Pyrénées (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2003
    Messages : 1 144
    Billets dans le blog
    3
    Par défaut
    Résolu !

    C'était tout bête :

    J'ajoute 2 colonnes dynamiquement : pas de souci ça fonctionne.
    Mais sur chacune de ces colonnes j'ajoute un DisplayIndex :

    Colonne 1 : DisplayIndex = 2
    Colonne 2 : DisplayIndex = 0

    Et la souci, dans le CollectionChanged des Columns du datagrid il s'y perd et ne me retourne pas le bon DataGridColumnHeader.

    J'ai inversé :

    Colonne 2 : DisplayIndex = 0
    Colonne 1 : DisplayIndex = 2

    Et ça marche...

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

Discussions similaires

  1. [MVVM] WPF Autocomplete dans une datagrid comment récupérer la sélection en cours
    Par intibnin dans le forum Windows Presentation Foundation
    Réponses: 1
    Dernier message: 19/06/2015, 12h15
  2. [VB.NET] Récupérer ligne cliquée datagrid
    Par Pleymo dans le forum Windows Forms
    Réponses: 2
    Dernier message: 08/08/2006, 03h30
  3. Réponses: 5
    Dernier message: 04/05/2006, 17h00
  4. [C#] Récupérer infos dataGrid
    Par Tips dans le forum Windows Forms
    Réponses: 2
    Dernier message: 27/02/2006, 10h47
  5. [WebForms][DataGrid] Récupérer la valeur d'une cellule...
    Par elbj dans le forum Général Dotnet
    Réponses: 2
    Dernier message: 12/12/2005, 14h00

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