2009-02-10 9 views
0

Dans certains cas, j'ai utilisé un DataTable, en le filtrant avec DataView et en affichant le DataView dans un DataGrid. J'ai récemment commencé à utiliser mes propres cours. Par exemple:Filtrer une liste

[Serializable] 
[System.Xml.Serialization.XmlRoot("Items", Namespace = "http://mycomp.com/test")] 
public class Items: List<Item> 
{ 

} 

[Serializable] 
[System.Xml.Serialization.XmlRoot("Item", Namespace = "http://mycomp.com/test")] 
public class Item 
{ 
    //public properties here 
} 

Je prends alors ma classe Items et l'affiche dans un DataGrid qui a très bien fonctionné. Y a-t-il un moyen d'appliquer un filtre à ma liste? DataView ne fonctionne que sur les données.

Répondre

2

Vous pouvez utiliser la méthode FindAll():

List<Items> allItems = /* initialize list */; 

List<Items> filteredList = 
    allItems.FindAll(item => item.Name.StartsWith("A")); 
1

Si je comprends bien votre question, vous pouvez utiliser LINQ aux objets et lier la liste résultante à la vue de la grille ...

Questions connexes