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 :

Rafraichissement DataGrid bizarre : ligne invisible


Sujet :

Silverlight

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Novembre 2008
    Messages
    118
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 118
    Par défaut Rafraichissement DataGrid bizarre : ligne invisible
    Bonjour ou reBonjour,

    J'ai un problème sur le rafraichissement de ma DataGrid.

    Celle-ci est bindé sur une List de FileUplaod.
    FileUpload ets une classe que j'ai développée et qui contient :
    - un Guid
    - un filename
    - un State (pour l'upload)
    - une Progression (int pour la progressbar)
    - un checksum

    Quand je clic sur le bouton "Delete" d'une ligne, celle-ci va bien me supprimer mon FileUpload dans ma List mais ne met pas à jour la datagrid.

    J'ai lu sur internet qu'il fallait implémenter INotifyCollectionChanged et déclencher un event quand une modif a lieu. C'est donc ce que j'ai fait : quand je supprime une entrée, je lance une méthode, qui lance l'événement.
    Cela ne marchait tourjours pas.

    Après j'ai lu qu'il y a avait une histoire de OneWay, TwoWay. J'ai donc rajouté le TwoWay dans le Binding : toujours sans succès.

    J'ai donc essayé la méthode pas propre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    mydatagrid.ItemsSource = null;
    mydatagrid.ItemSource = _upload.ListFiles; //_upload est un objet qui a comme attribut ma List
    Et donc maintenant, quand je supprime une entrée, celle-ci est bien supprimer dans ma List (j'ai vérifié avec le debugger).
    De plus, la ligne correspondante est bien retirée du DataGrid MAIS la ligne juste en dessous disparait aussi pour laisser place à un rectangle vide

    Voici quelques screens pour une meilleur compréhension :

    Mon DataGrid :


    Je supprime l'entrée Test0 et voici ce qu'il se passe :

    Test0 est bien supprimé MAIS Test1 disparait sans être supprimé.

    Et enfin, pour le fun, je supprimer l'entrée Test2 :

    Test2 est supprimé et Test1 réapparait .... MAGIIIIE

    Dites ... c'est grave docteur ?





    Est-ce que vous pourriez m'aider ?

    Merci par avance,
    Guillaume

  2. #2
    Expert confirmé
    Avatar de Skyounet
    Homme Profil pro
    Software Engineer
    Inscrit en
    Mars 2005
    Messages
    6 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Software Engineer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 6 380
    Par défaut
    Tu as lu mon article ?

    http://broux.developpez.com/articles...g-silverlight/

    Tu as essayé d'utiliser une ObservableCollection<T> au lieu d'une List<T> ?

    Normalement ça devrait parfaitement fonctionner.

  3. #3
    Membre confirmé
    Inscrit en
    Novembre 2008
    Messages
    118
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 118
    Par défaut
    Oui je l'ai lu.

    Mais, dans ma classe, j'utilise un Dictionnary<Guid, FileUpload> et qu'an j'apelle la propriété, il me sort une List.

    Je peux faire pareil avec un ObservableCollection<T> ?

    Je dois aussi spécifier le TwoWay dans le XAML ?

  4. #4
    Membre confirmé
    Inscrit en
    Novembre 2008
    Messages
    118
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 118
    Par défaut
    Je viens d'essayer. J'ai toujours la même erreur :s

    Est-ce que tu aurais une autre idée ?

    Je peux poster d'autres parties du code, si tu veux plus d'infos.


    Merci par avance,
    Guillaume

Discussions similaires

  1. [C#] Datagrid et lignes
    Par celos dans le forum Windows Forms
    Réponses: 11
    Dernier message: 27/04/2006, 13h01
  2. [C#] Datagrid, ajouter ligne vide
    Par forst dans le forum ASP.NET
    Réponses: 7
    Dernier message: 06/04/2006, 16h39
  3. [VB.NET] Datagrid sélection ligne
    Par cosmos38240 dans le forum Windows Forms
    Réponses: 7
    Dernier message: 09/02/2006, 11h10
  4. [FLASH MX] DataGrid, DataSet ligne totale
    Par totoche dans le forum Flash
    Réponses: 3
    Dernier message: 08/09/2005, 12h00
  5. [VB.NET][DataBinding] Rafraichissement DataGrid lié à un obj
    Par speedy1496 dans le forum Windows Forms
    Réponses: 4
    Dernier message: 21/10/2004, 10h15

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