PDA

View Full Version : فیلتر کردنDataGrid



bahman.net
یک شنبه 31 اردیبهشت 1385, 10:27 صبح
من یه جدول دارم که اون رو بوسیله دیتا گرید نمایش میدم حالا میخام این دیتا گرید رو بوسیله
محتویات دو تا تکست باکس که یکی نام و دیگری نام خانوادگی را توسط کاربر داده میشود فیلتر کنم من این کار رو بوسیله تنها یکی از این دو انجام دادم ولی به طور همزمان نمیتونم در ضمن نام و نام خانوادگی جزو فیلد های جدول هستند و پایگاه داده نیز اس کیو ال سرور 2000 است لطفا" کمکم کنین این هم کد من

// Build a filter based on user input.
string filterStr = string.Format("name= '{0}' ", TextBox1.Text);
// Find all rows matching the filter.
DataRow[] name = myDataSet.ozv.Select(filterStr);
ozvBindingSource.Filter = filterStr;

bahman.net
دوشنبه 01 خرداد 1385, 23:46 عصر
کسی جواب ما رو نمیده؟

ESG_Esfahan
سه شنبه 02 خرداد 1385, 00:01 صبح
سلام یک راه حل ساده ینه که از
DataView
استفاده کنی .

Mehrafrooz
سه شنبه 02 خرداد 1385, 07:21 صبح
یکی از راهها اینه که نام و نام خانوادگی رو از جدول بخونی و به طور دستی داخل دیتا گرید نشون بدی البته فیلتر چندتایی هم هست ولی من یادم رفته ولی باید بگم که کار باهاش سخته .
من خودم از یک حلقه for each استفاده می کنم و اگر شرط که همون نام و نام خاونادگی باشه برقرار بود اون رکورد رو به صورت دستی می ریزم داخل دیتا گرید .
حتی می تونید چندین شرط رو داشته باشی .

Behrooz_CS
سه شنبه 02 خرداد 1385, 15:12 عصر
دوست عزیز جواب شما خیلی خیلی ساده است
هر تعداد شرط که داری باید با هم
AND
کنی

اینطوری


string filterStr = string.Format("name LIKE '%{0}%' AND family LIKE '%{1}%'", TextBox1.Text , TextBox2.Text);
// Find all rows matching the filter.
DataRow[] name = myDataSet.ozv.Select(filterStr);
ozvBindingSource.Filter = filterStr;


البته این در صورتیه که هر دو
TextBox
پر باشه

bahman.net
چهارشنبه 03 خرداد 1385, 00:24 صبح
دستتون درد نکنه
عالی بود