جواب را پیدا کردم و برای استفاده دوستان می نویسم.
اگر شما بخواهید امکان جستجو در برنامه تان قرار دهید بطوریکه کاربر بتواند از CheckedListBox چند گزینه را انتخاب و گزینه های انتخاب شده در شرایط جستجو شرکت داده شوند باید اینکار را بکنید.
دستور شما ابتدا شروطی را که بصورت معمول و با TextBox اعمال می شوند را بررسی می کند.
var results = from c in DataContext.Table1s
where (c.name.Contains(TextBox1 .Text) && c.famili.Contains(TextBox2 .Text))
select new { c.name, c.famili};
سپس نوبت به شروط مربوط به CheckedListBox می رسد.من از سه foreach تو در تو استفاده کرده ام چون برنامه من شامل 2 عدد CheckedListBox بود شما می توانید با هر چند تا CheckedListBox اینکار را انجام دهید
DataTable dtb = new DataTable();
dtb.Columns.Add("name", typeof(string));
dtb.Columns.Add("famili", typeof(string));
foreach (var item in results)
{
DataRow dr = dtb.NewRow();
dr["name"] = item.name;
dr["famili"] = item.famili;
dtb.Rows.Add(dr);
}
foreach (DataRow row in dtb.Rows)
{
foreach (Object item1 in CheckedListBox1.CheckedItems)
{
foreach (Object item2 in checkedComboBox2.CheckedItems)
if (row["object1"].ToString() == item1.ToString() && row["object1""].ToString() == item2.ToString())
{
dataGridView7.Rows.Add(row.ItemArray);
}
}
}