如何在将数据源应用于ListView之前对其进行筛选?
本文关键字:筛选 数据源 ListView 应用于 | 更新日期: 2023-09-27 18:03:30
我有一个实体数据源,我需要在将其传递给ListView之前对其进行过滤。以下是未经过滤的版本(效果很好):
DataContext db = new DataContext();
ListView1.DataSource = db.Cars;
ListView1.DataBind();
我试图了解如何只选择蓝色的汽车(数据库中的字段/属性/行),并将这些汽车传递给ListView。我一直在尝试这种变化:
String selectedColor = "blue";
DataContext db = new DataContext();
ListView1.DataSource = db.Cars.Any(m => m.Cars.color == selectedColor);
ListView1.DataBind();
不应该更像
ListView1.DataSource = db.Cars.Where(car => car.Color == selectedColor);
你的db.Cars.Any(m => m.Cars.color == selectedColor)
[更正:应该是m.Color而不是m.Cars.Color,如果你想用它的方式]语句将返回true如果在你的汽车集合中至少有一个汽车的颜色值为selectedColor.
Any()
返回bool值。你需要Where()
我还会使用using
语句包装您的上下文。这会自动处理上下文的处理。
String selectedColor = "blue";
using(DataContext db = new DataContext())
{
ListView1.DataSource = db.Cars.Where(m => m.Cars.color == selectedColor);
ListView1.DataBind();
}