locked
Control Pivot et actualisation RRS feed

  • Question

  • Bonjour,

    J'utilise actuellement un controle pivot que je remplis comme ceci :

    monPivot.ItemsSource = LesAlarms

    Et j'aimerai que l'utilisateur puisse choisir de supprimer un des objets présents dans le pivot.

    J'ai donc essayé sa :

    MonAlarm uneAlarme = (uneAlarme)monPivot.SelectedItem;
    this.monPivot.Items.Remove(uneAlarme );


    Seulement j'ai le message d'erreur suivant qui apparait :

    Operation not supported on read-only collection.

    J'ai alors tester comme parade celle ci :

    LesAlarms.Remove(uneAlarme );
    monPivot.ItemsSource = LesAlarms;

    Seulement ça ne met toujours pas à jour mon Pivot, je sais que quand on utilise ce genre d'objet en sharepoint il y a la méthode GridView.DataBinding(),
    mais elle n'existe pas ici.

    Par conséquent comment faire pour supprimer un objet si la liste du pivot est uniquement en lecture seule ou comment actualiser dans tous les cas l'IHM pour que le pivot soit actualiser avec sa nouvelle source ?

    Merci d'avance

    samedi 2 juin 2012 15:36

Réponses

  • La source de l'objet n'a pas changé, c'est donc normal car c'est toujours la même référence de liste 

    Il faut que tu fasses une copie de ta liste, que tu supprimes l'élément et ensuite tu l'affectes au pivot.

    On pourrait aussi utiliser une observablecollection, mais pour ton cas, je le déconseille, car il va aussi falloir que tu gères les problèmes de current élement


    S'il vous plaît n'oublier pas de marquer la ou les réponses qui aident à résoudre votre problème. Pour que la discussion puisse être marquée comme résolue

    • Marqué comme réponse Nanais19 lundi 4 juin 2012 12:07
    lundi 4 juin 2012 09:58

Toutes les réponses

  • Bonjour,

    Ce billet pourrait t'aider : http://babaandthepigman.wordpress.com/2010/09/20/data-binding-pivot-control-wp7-mvvm/


    Pour que la discussion puisse être identifiée comme résolue merci de marquer les réponses qui vous ont aidées à solutionner votre problème comme "réponse".

    lundi 4 juin 2012 08:02
  • Bonjour,

    J'ai déjà vu ce tuto et pas mal d'autre mais je n'arrive pas à assez bien les comprendre toute seule, c'est pour ça que je suis venue chercher de l'aide ici.


    • Modifié Nanais19 lundi 4 juin 2012 08:14
    lundi 4 juin 2012 08:13
  • La deuxième solution devrait fonctionner pourtant : as-tu vérifié le contenu de ta collection après la suppression de l'item ?


    Pour que la discussion puisse être identifiée comme résolue merci de marquer les réponses qui vous ont aidées à solutionner votre problème comme "réponse".

    lundi 4 juin 2012 09:21
  • Oui, l'objet que je supprime n'y est plus, mais l'affichage ne s'actualise pas et j'ai quand même tous les objets (avec celui supprimer) d'afficher. C'est pour sa que je comparer ma recherche a la fonction .DataBinding() que l'on trouve en sharepoint. 
    lundi 4 juin 2012 09:46
  • La source de l'objet n'a pas changé, c'est donc normal car c'est toujours la même référence de liste 

    Il faut que tu fasses une copie de ta liste, que tu supprimes l'élément et ensuite tu l'affectes au pivot.

    On pourrait aussi utiliser une observablecollection, mais pour ton cas, je le déconseille, car il va aussi falloir que tu gères les problèmes de current élement


    S'il vous plaît n'oublier pas de marquer la ou les réponses qui aident à résoudre votre problème. Pour que la discussion puisse être marquée comme résolue

    • Marqué comme réponse Nanais19 lundi 4 juin 2012 12:07
    lundi 4 juin 2012 09:58
  • Effectivement sa fonctionne en passant par une copie ! 

    C'est un peu sinueux comme chemin mais bon. 

    Voici ce que j'ai fait, si d'autre veulent s'inspirer : 

    MonAlarme uneAlarm = (MonAlarme)monPivot.SelectedItem;
    List<MonAlarme> uneListCopy;
    List<MonAlarme> maList;
    maList = (List<MonAlarme>)monPivot.ItemsSource;
    uneListCopy = new List<MonAlarme>(maList);
    uneListCopy.Remove(uneAlarm);
    unPivot_MeteoVille.ItemsSource = uneListCopy;
    Merci en tous cas =)



    • Modifié Nanais19 lundi 4 juin 2012 12:07
    lundi 4 juin 2012 12:05