Overblog Suivre ce blog
Editer l'article Administration Créer mon blog

Présentation

  • : Romagny13 - Du .NET,du pur .NET
  • Romagny13 - Du .NET,du pur .NET
  • : Cycle de progression Faire (quelque chose qui marche) -> comprendre ce que l’on fait/comment cela marche -> pousser plus loin les notions
  • Contact

Recherche

Articles Récents

29 mars 2014 6 29 /03 /mars /2014 13:21

ListCollectionView est la vue par défaut sur une collection implémentant IList .
 
Une vue permet de filtrer, trier et naviguer facilement(ancien article en parlant) mais permet aussi de gérer les opérations d’ajout d’un nouvel élément, modification et suppression.

1-Ajout :
L’intérêt est de pouvoir annuler un ajout à la collection facilement.
  • AddNew()  ajoute l’élément à la collection et à la vue(mais est également le CurrentItem et CurrentAddItem de la vue,IsAddinNew = true)
  • CancelNew() supprime l’élément en cours d’ajout de la collection et la vue(CurrentItem ,CurrentAddItem,IsAddindNew=false)
  • CommitNew() CurrentAddItem ne pointe plus sur l’objet,IsAddind= false , l’objet appartient à la collection et à la vue comme un autre élément .

 

Exemple (Articles est une ObservableCollection<Article>)
public ListCollectionView View { get; set; }

 

View = (ListCollectionView)(CollectionViewSource.GetDefaultView(context.Articles));

 

Article newArticle = (Article)View.AddNew();
newArticle.ArticleID = Guid.NewGuid();
newArticle.ArticleName = "Jeans bleu délavé";
newArticle.Description = "joli jeans bleu clair délavé";
newArticle.CollectionID = 1;

 

// Sur un bouton « Ok » par exemple
View.CommitNew();

       
 

// Sur un bouton « Annuler »
View.CancelNew();



Note : AddNewItem(object item) fonctionne de la même manière que AddNew()
  
2-Modification :
Tout l’intérêt ici est de pouvoir annuler les changements apportés à un objet de la collection (la classe doit avoir implémenté IEditableObject)
  • EditItem(object item) spécifie l’objet qui va être édité(CurrentEditItem,IsEditingItem=true)
  • CancelEdit() permet d’annuler les changements sur l’objet(l’objet n’est plus CurrentEditItem et isEditingItem=false)
  • CommitEdit() valide les changements(l’objet n’est plus CurrentEditItem et isEditingItem=false)    

 

Exemple :
Article article =(Article) View.CurrentItem;
View.EditItem(article);

 

article.ArticleName = "Jeans xxy";

 

//    
View.CancelEdit();

 

//      
View.CommitEdit();

 

3-Suppression :
On peut aussi passer par la vue avec les méthodes Remove(object item) ou RemoveAt(int index) pour supprimer un objet de la collection
Exemple
   Article article =(Article) View.CurrentItem;
 
   View.Remove(article);



Partager cet article

Repost 0
Published by Romagny13 - dans C
commenter cet article

commentaires