PDA

View Full Version : جستجو در DatagridView براساس چك باكس



Yanehsar
جمعه 13 مرداد 1391, 12:19 عصر
سلام دوستان من ميخوام به جستجو بذارم براي ديتاگريد كه چندتا حالت داره در حالا معمول كه رشته اي هست و بدون مشكل انجام ميدم با استفاده از كدهاي زير:


dv.RowFilter = "family like '%" + txtsearch.Text + "%'";
dgw.DataSource = dv;

من داخل ديتاگريدم 4 تا چك باكس دارم ميخوام اين امكان رو به جستجو بدم كه كاربر بتونه براساس اونا جستجو رو انجام بده.چطوري ميتونم اينكار رو انجام بدم كه شرط چندگانه هم برقرار باشه!؟!

Yanehsar
جمعه 13 مرداد 1391, 18:00 عصر
كسي نميتونه راهنمائيم كنه؟

Yanehsar
جمعه 13 مرداد 1391, 21:53 عصر
اینجا (http://barnamenevis.org/showthread.php?353360-%D8%B3%D8%B1%DA%86-%D9%BE%D9%88%DB%8C%D8%A7&p=1558655#post1558655)جواب دادم

اين جواب كار منو نميده.من يه كمبو باكس گذاشتم كه كاربر انتخاب ميكنه بر چه اساسي جستجو كنه براي فيلدهاي رشته اي از كدي كه بالا گذاشتم استفاده ميكنه مشكلي ندارم اما يك حالت داره براساس چك باكس ها جستجو ميكنه
مثلا جنسيت: زن است يا مرد_ تاهل مجرد است يا متاهل_بچه دارد يا ندارد و...
مثلا جستجو براساس اينكه زن باشد متاهل باشد بچه نداشته باشد.به اين صورت فيلتر بشه.
بايد چيكار كنم؟!؟

Mahmoud.Afrad
شنبه 14 مرداد 1391, 01:13 صبح
آیا امکان داره که کاربر هیچ کدوم از چک باکسهای جنسیت رو مثلا انتخاب نکنه یا اینکه نه حتما بایستی انتخاب صورت بگیره؟
اگر باید انتخاب صورت بگیره که ساده است.

کار وقتی مشکل میشه که شخص بتونه انتخابی نداشته باشه اونوقت کوئری هر بار ممکنه متفاوت بشه. خوب طبق همون مثال عمل کنید یعنی بر حسب اینکه اگر شخص جنسیت رو تعیین کرد اونو به فیلتر اضافه کنید.

string filter;


if ( txtsearch.Text != string.Empty)
filter += "family like '%" + txtsearch.Text + "%' and ";
if ( cmbJensiat.SelectedItem != string.Empty )
filter += "jensiat = '" + cmbJensiat.SelectedItem + "' and ";
if ( cmbTaahol.SelectedItem!= string.Empty )
filter += "taahol = '" + cmbTaahol.SelectedItem + "' and ";
//...
filter += " 1=1";

dv.RowFilter = filter;
dataGridView1.DataSource = dv;
filter = string.Empty;