0
我有一个文本框,按钮和GridView;我想在多列中搜索。 它的工作原理,但当然在最后一种情况下,并忽略了上述情况,所以当我的数据库中存在任何值的情况下需要进行筛选。我该怎么做才能做到这一点? 这是我的代码。使用linq搜索
protected void btn_search_Click(object sender, EventArgs e)
{
Item item = new Item();
//Search by item_name
using (SupermarketEntities1 DB = new SupermarketEntities1())
{
item.item_name = txt_search.Text;
itemGridView.DataSource = DB.Items.Where(x => x.item_name .Contains(item.item_name))
.Select(x =>new {
x.item_id,
x.item_name,
x.item_unit,
x.Department.depart_name,
x.prod_date,
x.exp_date,
x.sale_price,
x.purchase_price,
}).ToList();
itemGridView.DataBind();
}
//Search by item_unit
using (SupermarketEntities1 DB = new SupermarketEntities1())
{
item.item_unit = txt_search.Text;
itemGridView.DataSource = DB.Items.Where(x => x.item_unit.Contains(item.item_unit))
.Select(x => new {
x.item_id,
x.item_name,
x.item_unit,
x.Department.depart_name,
x.prod_date,
x.exp_date,
x.sale_price,
x.purchase_price,
}).ToList();
itemGridView.DataBind();
}
//Search by sale_price
using (SupermarketEntities1 DB = new SupermarketEntities1())
{
item.sale_price = Convert.ToDecimal(txt_search.Text);
itemGridView.DataSource = DB.Items.Where(x => x.sale_price == item.sale_price)
.Select(x => new
{
x.item_id,
x.item_name,
x.item_unit,
x.Department.depart_name,
x.prod_date,
x.exp_date,
x.sale_price,
x.purchase_price
}).ToList();
itemGridView.DataBind();
}
它的工作,但同样的问题,如果x.sale_price == item.sale_price)情况下存在所以我哈希它,它工作正常 – hazem