نوشته شده توسط
ramin005
الان هر بارکه تیک چک باکس را برمیدارم دیتاگرید خالی میشه و با تیک زدن دوباره دیتاگرید همچنان خالی میمونه
اگر امکان داشته باشه علت این مشکل را نیز بفرمایید.
سلام
برای اینکه با تغییر تیک خوردن چک باکس ها خروجی ( محتویات دیتا گرید) هم تغییر کنه میتونی از رویداد CheckedChange استفاده کنی.
private void Form2_Load(object sender, EventArgs e)
{
checkBox1.CheckedChanged += new EventHandler(checkBox_CheckedChanged);
checkBox2.CheckedChanged += new EventHandler(checkBox_CheckedChanged);
checkBox3.CheckedChanged += new EventHandler(checkBox_CheckedChanged);
}
private void checkBox_CheckedChanged(object sender, EventArgs e)
{
PersonLinqDataContext pers = new PersonLinqDataContext();
//شماره استاتوس ها
List<int?> IdsToFind = new List<int?>() { 0, 1, 2 };
//در صورت تیک نخوردن هر یکی از اون چک باکس ها از لیست حذف میشوند
if (checkBox1.Checked == false)
IdsToFind.Remove(0);
if (checkBox2.Checked == false)
IdsToFind.Remove(1);
if (checkBox3.Checked == false)
IdsToFind.Remove(2);
//نوشتن کوئری و نوشتن شرط ها
var query = pers.Persons.Where(u => IdsToFind.Contains(u.Status));
dataGridView1.DataSource = query;
}