PDA

View Full Version : سوال: فبلتر کردن دیتا گرید بر اساس تاریخ



navid1n2000
سه شنبه 27 اردیبهشت 1390, 12:10 عصر
من یه دیتا گرید دارم که یکی از فیلداش تاریخ هستش من چطور می تونم اینو فبلتر کنم بر این اساس که بین دو تاریخ باشده، یعنی رکرودها رو بین دو تاریخ نشون بده ، من خودم از این دستور استفاده کردم اما ارور میده :
((

DataTable)dataGridViewX1.DataSource).DefaultView.R owFilter = "Adept_Id = '" + int.Parse(comboBox1.SelectedValue.ToString()) + "' and Date between '" + pd.simpleDate() + "' and '" + pd1.simpleDate() + "'";




((

DataTable)dataGridViewX1.DataSource).DefaultView.R owFilter = "Adept_Id = '" + int.Parse(comboBox1.SelectedValue.ToString()) + "' and Date between '" + pd.simpleDate() + "' and '" + pd1.simpleDate() + "'";

navid1n2000
سه شنبه 27 اردیبهشت 1390, 14:07 عصر
راه حلی نبود برای این مشکل ؟؟؟؟؟؟؟؟؟؟؟

ایمان مدائنی
سه شنبه 27 اردیبهشت 1390, 15:16 عصر
دوست عزيز خود من نمونه در قسمت نمونه برنامه ها گذاشتم
اونو ببين مشكلت حل ميشه
بايد از dataview استفاده كني

ایمان مدائنی
سه شنبه 27 اردیبهشت 1390, 15:17 عصر
از كوئري استفاده كن و از ><= استفاده كن

ma.rad
سه شنبه 27 اردیبهشت 1390, 15:20 عصر
میشه کدشو بزاری؟

navid1n2000
سه شنبه 27 اردیبهشت 1390, 15:28 عصر
میشه اون نمونه رو بگین کجاست
من گشتم پیدا نشد

navid1n2000
سه شنبه 27 اردیبهشت 1390, 15:57 عصر
آخه string هستش و تازه اگر تبدیل کنم به int ، فرمتش تاریخه مثلا اینجوری : 23/2/1390

mohsen.nsb44
سه شنبه 27 اردیبهشت 1390, 16:01 عصر
دوست عزیز با استفاده از تابع Substring می تونی این کار رو انجام بدی شما باید اولا ستون تاریخ رو از دیتا گرید ویوت بگیری بعد از تاریخ مد نظرت کم کنی و select رو در اون محدوده انجام بدی
برای گرفتن تاریخ هم از ستون دیتا گرید می تونی از کد زیر استفاده بکنب

if (dataGridView1.CurrentRow == null)
return;
int row = dataGridView1.CurrentRow.Index;
string valdate = dataGridView1[3, row].Value.ToString();

ایمان مدائنی
سه شنبه 27 اردیبهشت 1390, 16:17 عصر
نيازي به تبديل نيست خود اس كيو ال تاريخ استرينگ رو به صورت فرمت تاريخ درمياره
امتحان كن

navid1n2000
سه شنبه 27 اردیبهشت 1390, 16:18 عصر
دوست عزیز با استفاده از تابع Substring می تونی این کار رو انجام بدی شما باید اولا ستون تاریخ رو از دیتا گرید ویوت بگیری بعد از تاریخ مد نظرت کم کنی و select رو در اون محدوده انجام بدی
برای گرفتن تاریخ هم از ستون دیتا گرید می تونی از کد زیر استفاده بکنب

if (dataGridView1.CurrentRow == null)
return;
int row = dataGridView1.CurrentRow.Index;
string valdate = dataGridView1[3, row].Value.ToString();
آقا Select نیست که فیلتر کردن دیتاگریده،من این رو بلدم دوست ندارم برگردم دیتابیس

navid1n2000
سه شنبه 27 اردیبهشت 1390, 17:15 عصر
نيازي به تبديل نيست خود اس كيو ال تاريخ استرينگ رو به صورت فرمت تاريخ درمياره
امتحان كن

تست کردم نشد
من توی محیط ویژوال استودیو هستم
کدم رو یه بار دیگه بخون

navid1n2000
چهارشنبه 28 اردیبهشت 1390, 08:56 صبح
راهی نیست برای این مشکل
خیلی گیرم

navid1n2000
چهارشنبه 28 اردیبهشت 1390, 22:51 عصر
من امروزم زیاد روش کار کردم واقعا راهی وجود نداره

pmn.asd
چهارشنبه 28 اردیبهشت 1390, 23:26 عصر
((DataTable)DataGridView.DataSource).Select("Date > 1380/02/02");

saeidfar
پنج شنبه 29 اردیبهشت 1390, 17:28 عصر
((DataTable)DataGridView.DataSource).Select("Date > 1380/02/02");

پس با این وجود ایشون دوبار باید این دستور رو اجا کنن یکی برا بزرگتر بودن یکی هم برا کوچکتر بودن درسته؟

spring69
پنج شنبه 29 اردیبهشت 1390, 19:10 عصر
سلام
اینو ببینید

navid1n2000
یک شنبه 01 خرداد 1390, 19:20 عصر
سلام
اینو ببینید
این دقیقا همون روش منه
مشکل من اینه که متغیر Date رو string تعریف کردم البته به خاطر یه موردی
مشکل من اینه

navid1n2000
چهارشنبه 04 خرداد 1390, 12:17 عصر
من راه های دیگه رو تست کردم،مشکلم حل نشد؟

md_davari
پنج شنبه 05 خرداد 1390, 10:28 صبح
من هم عیناً با همین مشکل برخورد کردم. لطفا اگه کسی میتونه کمک کنه!...
تاریخ من شمسی است و به صورت رشته ذخیره شده است

navid1n2000
یک شنبه 08 خرداد 1390, 23:51 عصر
کسی نمی خواد کمکمون کنه؟

ma.rad
دوشنبه 09 خرداد 1390, 18:49 عصر
سلام اینو ببین
http://barnamenevis.org/showthread.php?241949-%D9%85%D8%B4%DA%A9%D9%84-%D8%AF%D8%B1-%D8%AC%D8%B3%D8%AA%D8%AC%D9%88-%D8%AA%D8%A7%D8%B1%DB%8C%D8%AE&highlight=%D8%AC%D8%B3%D8%AA%D8%AC%D9%88+%D8%A8%DB %8C%D9%86+%D8%AF%D9%88+%D8%AA%D8%A7%D8%B1%DB%8C%D8 %AE