سلام من یک کمبو دارم که بصورت شکل زیر قابل انتخاب چند ایتم
11.PNG
ایتم های انتخابی بصورت یک ارایه که به این صورت نشون میده (11, 14, 1, 2)
حلا چطوری متونم با linq فیلتر کنم برا اساس این ایتم ها
ممکن ایتم انتخابی 1عدد باشه ممکن 6 عدد باشد
سلام من یک کمبو دارم که بصورت شکل زیر قابل انتخاب چند ایتم
11.PNG
ایتم های انتخابی بصورت یک ارایه که به این صورت نشون میده (11, 14, 1, 2)
حلا چطوری متونم با linq فیلتر کنم برا اساس این ایتم ها
ممکن ایتم انتخابی 1عدد باشه ممکن 6 عدد باشد
ممنون دوست خوب ولی من نمیخوام داخل لیست جستجو کنم من مخوام داخل دیتا بیس بگردم و فیلتر کنم
اگر به تاپیکی که لینک دادم نگاه میکردید متوجه میشدید دقیقا سوالی مثل سوال شما پرسیده شده.
یک لیست از آیدی موارد انتخابی بسازید و در شرط کوئری از متد contains مربوط به همین لیست استفاده کنید.
من الان این کار انجام دادم
Advertisements.Where(c => listOfCategoryId.Contains(c.CategoryId))
ولی وقتی نتجه گذارش میبینم میاد فقط ایتم 0 لیست فیلتر مکنه و بقیه ایتم ها فیلتر نمیکنه
یعنی اگه داخل لیست ما دوتا ایتم داسته باشم ایدم دوم را اطلاعاتش نمیاره
آخرین ویرایش به وسیله Mahmoud.Afrad : چهارشنبه 29 فروردین 1397 در 14:08 عصر
کد خودتون چیه؟
public partial class Form1 : Form
{
public static Database1Entities1 db = new Database1Entities1();
public Form1()
{
InitializeComponent();
}
private List<string> Areaali;
private void button1_Click(object sender, EventArgs e)
{
Areaali = Comboit.Text.Split(',').ToList();
dataGridView1.DataSource = db.Tables.Where(x => Areaali.Contains(x.mas)).ToList();
}
private void Form1_Load(object sender, EventArgs e)
{
dataGridView1.DataSource = db.Tables.ToList();
}
}
این فایل پروژه
http://s8.picofile.com/file/83239994...sApp1.rar.html
ستون nchar هست که باعث مشکل میشه(spaceهای اضافی). نوع ستون رو به nvarchar تبدیل و مقادیر رکوردها رو اصلاح کنید.
ولی بهتر این هست که یک جدول برای مناطق داشته باشید و از آیدی اون در جدول دیگر استفاده کنید تا به این مشکلات برنخورید. کمبو را هم از جدول مناطق پر کنید و آیدی عناصر انتخابی را بدست آورده و در کوئری استفاده کنید.
نوع ستون رو به nvarchar تبدیل کردم نیمتونم ایدی ذخیره کنم باید متن ذخیره کنم
ولی بازم عمل فیلتر انجام نمیشه
روش اول آموزش زیر
https://barnamenevis.org/showthread.p...4%D8%AF%D9%87)