2009-02-10 4 views
0

В некоторых случаях я использую DataTable, фильтруя его с помощью DataView и отображая DataView в DataGrid. Недавно я начал переходить на использование моих собственных классов. Например:Фильтрация списка

[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 
} 

Затем я беру класс Items и показываю его в DataGrid, который работал очень хорошо. Есть ли способ применить фильтр к моему списку? DataView работает только с данными.

ответ

2

Вы можете использовать FindAll() метод:

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

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

Если я правильно понимаю ваш вопрос, вы можете использовать LINQ к объектам и связать полученный список в виде сетки ...

Смежные вопросы