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

Windows Presentation Foundation Discussion :

Ajout d'une ligne finale dans une Listview bindé


Sujet :

Windows Presentation Foundation

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 38
    Points : 24
    Points
    24
    Par défaut Ajout d'une ligne finale dans une Listview bindé
    Salutations,

    Il semblerait que ça soit une soucis récurrent en WPF...

    Le code ...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
           ListViewItem item = new ListViewItem();
                    item.Content = "Test"; 
                    this.ListView.Items.Add(item);
                    this.ListView.SelectedItem = item;
                    this.ListView.Focus();
    ... à l'exécution donne
    "Operation is not valid while ItemsSource is in use. Access and modify elements with ItemsControl.ItemsSource instead."
    Ce qui sous entend que du fait que le Listview est lié ne permet pas d'exécuter cet ajout de ligne.

    Y a t il une parade à cela ?

    (comment un truc aussi simple que rajouter une ligne en fin de listview peut devenir aussi compliqué en WPF ?)

  2. #2
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Points : 19 434
    Points
    19 434
    Par défaut
    Ajoute un élément à la collection qui est définit comme propriété ItemsSource, ca devrait marcher

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 38
    Points : 24
    Points
    24
    Par défaut
    L'embettant c'est que cette colelction je ne la connais pas puisque que je charge le listview via une procédure (récupération des données par requête)

    (le code est ICI sur ce même forum, vu que j'ai un soucis pour faire de une listview editable par la même occasion)

    Ou alors je n'ai pas compris ta réponse (c'est vendredi, la fatigue tout ça...)

  4. #4
    Membre éprouvé Avatar de anthyme
    Homme Profil pro
    Inscrit en
    Mars 2004
    Messages
    1 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 559
    Points : 1 257
    Points
    1 257
    Par défaut
    Perso je n'utilise pas les dataset qui sont un erreur du monde informatique (ça c'est dit) donc peut être que mon commentaire n'as pas de sens mais tu devrais peut être copier les "objets" (enfin c'est des lignes je crois dans un dataset) dans une collection (type ObservableCollection) puis rajouter ta dernière ligne dedans et faire le binding sur cette collection plutôt que directement sur ton dataset.

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 38
    Points : 24
    Points
    24
    Par défaut
    pas bête effectivement
    (interet du dataset ? collection de datatable = directement exploitable à partir d'une requete, mais c'est un autre débat)

    Donc pour info une solution pour ajouter une ligne dans une Listview sous WPF...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
          DataView dv = (DataView)this.lv.ItemsSource;
                    dv.Table.Rows.Add(-1,"...","..."); //(ou ce que vous voulez comme liste en fonctiond e votre nombre de colonnes)
                    this.lv.ItemsSource = dv;
    Merci pour vos réponse je clos.

  6. #6
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Points : 19 434
    Points
    19 434
    Par défaut
    Oui donc au final, tu ajoutes bien une ligne à la collection utilisée comme source de données

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 38
    Points : 24
    Points
    24
    Par défaut
    Oui y a pas d'autre solution effectivement...

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 04/04/2013, 21h06
  2. Réponses: 3
    Dernier message: 29/03/2011, 20h38
  3. [XL-2003] Modifier une ligne sélectionné dans une listView
    Par monichou86 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 29/12/2009, 17h49
  4. Réponses: 6
    Dernier message: 13/11/2009, 16h06
  5. Réponses: 14
    Dernier message: 24/05/2006, 16h05

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