پیشنهاد در مورد فیلتر کردن datagridview
با سلام خدمت دوستان من یک datagridview دارم که متصل به دیتابیش است و شامل 3 ستون ردیف , تاریخ (که بصورت روز/ماه/سال هستش) , شرح رویداد می باشد فرم من یک بخش برای فیلتر کردن داده های دیتاگرید ویو داره (ولی با نوشتن کدش مشکل دارم) این بخش شامل 4 تکست باکس سال و ماه و روز و شرح می باشد.
میخوام کاربر اگه هر تعداد فیلدی را پر کرد تنها همان عناصر در گرید ویو نشون داده شود .به عنوان مثال :
گرید ویو ی من به شکل زیر است .
ردیف تاریخ شرح
1 1392/5/22 a
2 1392/5/22 b
3 1392/5/22 c
4 1392/5/22 c
5 1392/4/22 a
6 1392/4/22 c
7 1392/4/22 b
چیزی که از بخش فیلتر میخوام بصورت زیر است .
txtyear.Text = "";//b
txtmonth.Text ="";//a
txtday.Text = "22";//c ========> نمایش 4 ردیف اول در گرید و حذف ردیفهای دیگر
txtdescription.Text = "";//s
یا
txtyear.Text = "";//b
txtmonth.Text ="5";//a
txtday.Text = "22";//c =======> نمایش ردیف 3و 4 در گرید و حذف ردیفهای دیگر
txtdescription.Text = "c";//s
و به همین شکل , مطمئناً میتوان با if/else های زیاد اینکارو حل کرد ولی من دنبال راه حل بهترم لطفاً راهنمایی کنید . با سپاس از تمامی دوستان
نقل قول: پیشنهاد در مورد فیلتر کردن datagridview
منظورتون رو خوب نفهمیدم ،اما روش استاندارد برای فیلترینگ این هست که شما ، تاریخ مورد نظرتون رو بگیرید ، بعد دیتا تون رو بگیرید ، دیتا رو فیلتر کنید بر اساس تاریختون .. و در پایان دیتای فیلتر شده رو به دیتاگریدتون وصل کنید ..
2 ضمیمه
نقل قول: پیشنهاد در مورد فیلتر کردن datagridview
من منظور دوستمونو متوجه نشدم ولی اگه من منظورمو درست نگفتم اصلاح میکنم :
ببینید مثلاً من یک گرید ویو دارم به این شکل :
حالا من توسط فیلدهای زیر چطوری میتونم گریدویو ی خودمو فیلتر کنم لطفاً راهنمایی نمائید .
نقل قول: پیشنهاد در مورد فیلتر کردن datagridview
نقل قول: پیشنهاد در مورد فیلتر کردن datagridview
ببین دوست عزیز بهترین کار و اصولی ترین کار اینه که فیلد تاریخ تو sql به صورت datetime باشه و تاریخم به صورت میلادی ذخیره کنی و بعدش به صورت شمسی نشون بدی. برای فیلتر کردن تاریخم از کامپوننت radgridview استفاده کنی و از خاصیت فیلترش استفاده کنی. اصولی ترین راهش اینه
نقل قول: پیشنهاد در مورد فیلتر کردن datagridview
سلام.
فکر کنم اگر اینجا بپرسم بهتر از اینه که تاپیک جدید ایجاد کنم ( ؟ )
منیه گرید ویوو دارم که اینطوری اونو فیلتر کردم ( چون باید در یک زمان چندین مورد توی اون فیلتر بشه )( مثل فرستنده، گیرنده، کامیون و تاریخ ) و مشکل من با قسمت فرمت بر اساس تاریخ هست.
چطوری تاریخی مابین دو تاریخ رو فیلتر کنم طوری که فیلتر های قبلی رو منق نکنه !؟
کد الان من:
var db = new LINQDataContext(); db = new LINQDataContext();
dataGridView1.DataSource = db.tbsherkats;
dataGridView1.DataSource = db.tbbarnames.Where(c =>
(c.kodsherkat.Substring(0, txtsherkat2.Text.Length) == txtsherkat2.Text)
/*&& (c.tarikh.Substring(0, txtstartdate.Text.Length) == txtstartdate.Text)*/
&& (c.noekamion.Substring(0, cmbkamion.Text.Length) == cmbkamion.Text)
&& (c.noebastebandi.Substring(0, cmbbastebandi.Text.Length) == cmbbastebandi.Text)
&& (c.shlenj.Substring(0, cmdshlenj.Text.Length) == cmdshlenj.Text)
&& (c.noejens.Substring(0, cmbjens.Text.Length) == cmbjens.Text)
).Select(c => c);