多个筛选条件-----组合查询
应用场景:
赶集网或者其他购物商城中 设置的查询功能中 多个筛选条件综合查询结果;
代码:
// 当设置的筛选条件都没有内容或者客户没有设定选定条件时,系统将自动将数据全部选出;
var da1 = _context.Car.AsQueryable();//按照Namecha
var da2 = _context.Car.AsQueryable();//按照Brand查
var da3 = _context.Car.AsQueryable();//按照Oil 查
// 当客户做出晒选条件时,在上面已经查询的基础上再次进行选择。如果没有做出选择则将全部的数据发送给客户;
注意: 例子中使用了三个筛选条件,实际情况有几个筛选条件将会设置几个IF语句;
if(TextBox1.Text.Trim().Length>0)
{ // 注意是在 原有的基础上进行筛选:
da1= da1.Where(p=>p.Code.Contains(TextBox1.Text));
}
if(DropDownList1.SelectedValue!="-1")
{
da2=da2.Where(p=>p.Brand==DropDownList1.SelectedValue);
}
if(TextBox2.Text.Trim().Length>0)
{
da3.Where(p => p.Oil == Convert.ToDecimal(TextBox2.Text));
}
var query = da1.Intersect(da2).Intersect(da3);// 取三个筛选结果的交集 ;
// 数据绑定
GridView1.DataSource = query;
GridView1.DataBind();