Ich habe eine Textbox, Button und Gridview; Ich möchte in mehreren Spalten suchen. Es funktioniert aber natürlich nur im letzten Fall und ignoriert die oben genannten, also brauche ich etwas, wenn irgendein Fall existiert Wert in meiner Datenbank wird es filtern. Was soll ich tun, um es zu ermöglichen? Das ist mein Code.Suche mit 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();
}
es funktioniert, aber das gleiche Problem, wenn x.sale_price == item.sale_price) Fall existiert So habe ich es hashed und es funktioniert gut – hazem