过滤列表

时间:2009-02-10 18:46:26

标签: c# .net generics filtering

在某些情况下,我一直在使用DataTable,使用DataView过滤它并在DataGrid中显示DataView。我最近开始转用自己的课程。例如:

[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 个答案:

答案 0 :(得分:2)

您可以使用FindAll()方法:

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

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

答案 1 :(得分:1)

如果我正确理解你的问题,你可以使用LINQ to Objects并将结果列表绑定到网格视图......