
نوشته شده توسط
zahra1372
سلام با تشکر از وقتی که میزارین
ولی کاش زودتر در مورد جستجو در بازه زمانی توضیح میدادین

سلام دوست عزیز
این کامپوننتی که من گذاشتم یه Properties به نام SelectedDate داره که تاریخ انتخاب شده بدون ممیز رو توش نگه میداره به صورت زیر
1393/09/17 >>13930917
ما نمیتونیم تاریخ رو به صورت رشته ای بیایم جستجو کنیم یا باید بصورت DateTime باشه یا Int تا بتونیم بصورت بازه جستجو کنیم.
شما از طریق ای SelectedDate میتونی تاریخ رو بصورت عدد تو یه بازه جستجو کنی.
من تو پروژه هام از این کامپننتی که نوشتم خیلی راحت استفاده میکنم تاریخ رو بصورت رشته ای تو دیتابیسم ذخیره میکنم مثلا "1393/09/17" و جستجوم رو براحتی روی این رشته بصورت زیر میام انجام میدم. برای این منظور:
public static SMIODataClassDataContext db = new SMIODataClassDataContext();
SMIODataClassDataContext اسم کانتکست LINQ هستش که توی Program تعریف کردم و دسترسیش توی همه فرمها بصورت Global شده.
var Query = from p in Program.db.tblSMIOPersons
select new
{
p.fIdentity,
p.fName,
p.fFamily,
fEmpDate = p.fEmpDateS,// یه متغیری هستش که تاریخ انتخاب شده رو بصورت همون استاندارد رشته ای نگهداری میکنه1393/09/17 fEmpDate
fEmpDateS = Convert.ToInt64(p.fEmpDateS.Replace("/", "")),//تو این خط ممیزها حذف میشن و تاریخ تبدیل میشه به یه عدد
};
Query = Query.Where(c => c.fEmpDateS >= Convert.ToInt64(dateF.SelectedDate) && c.fEmpDateS <= Convert.ToInt64(dateE.SelectedDate));
کوری ساخته میشه و بازه تاریخ برای جستجو اعمال میشه.dateF و dateE دوتا کامپوننت تاریخ روی فرمم هستش
موفق باشید.