PDA

View Full Version : سوال: تبدیل تاریخ شمسی به میلادی در datagridview



farzad_c
دوشنبه 19 مرداد 1394, 22:33 عصر
سلام به همه شاید بگین تکراری ولی من همه پست ها خوندم بعد اینو گذاشتم
من قبلا تاریخ شمسی را توی دیتابیس ذخیره میکردم بعدا وقتی پست ها را خوندم پشیمون شدم حالا میخوام میلادی ذخیره کنم سوالم اینجاست چیطوری در دیتا گرید ویو زمانی که select میکنیم یا توی خود دیتا گرید ویو تاریخ ها همه به شمسی تبدیل بشن ممنون همه شما

davidrobert
سه شنبه 20 مرداد 1394, 08:35 صبح
دوست عزیز اگه میخواهید از یک سلول که تاریخ شمسی هستش به میلادی تبدیل کنید این روش بهتر هستش.هم تو بررسی اطلاعات بدردتون میخوره هم نمایش.
یک سلول دیتاگرید ویو رو شمسی بزارید و سلول رو به روش رو میلادی وقتی شمسی انتخاب میشه معادل شمسی شو برای شما میریزه.
http://barnamenevis.org/showthread.php?420488-%D9%85%D8%B4%DA%A9%D9%84-%D8%AF%D8%B1-%D8%B0%D8%AE%DB%8C%D8%B1%D9%87-%DA%A9%D8%B1%D8%AF%D9%86-%D8%B1%D9%88%D8%B2-31-%D9%87%D8%B1-%D9%85%D8%A7&p=2243657&viewfull=1#post2243657

farzad_c
سه شنبه 20 مرداد 1394, 09:47 صبح
دوست عزیز اگه میخواهید از یک سلول که تاریخ شمسی هستش به میلادی تبدیل کنید این روش بهتر هستش.هم تو بررسی اطلاعات بدردتون میخوره هم نمایش.
یک سلول دیتاگرید ویو رو شمسی بزارید و سلول رو به روش رو میلادی وقتی شمسی انتخاب میشه معادل شمسی شو برای شما میریزه.
http://barnamenevis.org/showthread.php?420488-%D9%85%D8%B4%DA%A9%D9%84-%D8%AF%D8%B1-%D8%B0%D8%AE%DB%8C%D8%B1%D9%87-%DA%A9%D8%B1%D8%AF%D9%86-%D8%B1%D9%88%D8%B2-31-%D9%87%D8%B1-%D9%85%D8%A7&p=2243657&viewfull=1#post2243657


دوست عزیز سلام
من تاریخ را به صورت میلادی ذخیره میکنم و تنها موقع نمایش میخواهم اونو به شمسی نمایش بدم همین کارو تو دیتاگریدویو چیطور باید انجام بدم همچنان تو ریپورت ها هم باید از میلادی به شمسی تبدیلش کنم

davidrobert
سه شنبه 20 مرداد 1394, 15:08 عصر
دوست عزیز من اون کار رو نکردم ولی کاری که انجام دادم این بوده تاریخ شمسی رو از نوع nvarchar قرار دادم و تاریخ میلادی رو از نوع date قرار دادم تو دیتابیس و موقع نمایش تاریخ شمسی رو طرف وارد میکنه و معادل میلادیش در ستون دیگه دیتاگرید قرار میگیره به صورت مخفی و فقط طرف تاریخ شمسی رو میزنه ولی خبر نداره تاریخ میلادی هم ذخیره میشه و موقع جستجو میام یا نمایش میگیم جستجو میگیم جستجو کنم یا نمایش بده بر حسب این تاریخ میلادی وقتی شمسی شو دادیم خودش معادل میلادی شو بهمون میده و در کادر متنی که تاریخ میلادی رو داره مخفی هستش رو بررسی میکنه و اطلاعات رو بر حسب شرط تاریخ میلادی به ما نشان میده .
یعنی ما تاریخ در جستجو شمسی میدیم ولی سیستم میلادی جستجو میکنه.از کادر متن دیگه که تاریخش میلادی

farzad_c
سه شنبه 20 مرداد 1394, 16:45 عصر
دوست عزیز من اون کار رو نکردم ولی کاری که انجام دادم این بوده تاریخ شمسی رو از نوع nvarchar قرار دادم و تاریخ میلادی رو از نوع date قرار دادم تو دیتابیس و موقع نمایش تاریخ شمسی رو طرف وارد میکنه و معادل میلادیش در ستون دیگه دیتاگرید قرار میگیره به صورت مخفی و فقط طرف تاریخ شمسی رو میزنه ولی خبر نداره تاریخ میلادی هم ذخیره میشه و موقع جستجو میام یا نمایش میگیم جستجو میگیم جستجو کنم یا نمایش بده بر حسب این تاریخ میلادی وقتی شمسی شو دادیم خودش معادل میلادی شو بهمون میده و در کادر متنی که تاریخ میلادی رو داره مخفی هستش رو بررسی میکنه و اطلاعات رو بر حسب شرط تاریخ میلادی به ما نشان میده .
یعنی ما تاریخ در جستجو شمسی میدیم ولی سیستم میلادی جستجو میکنه.از کادر متن دیگه که تاریخش میلادی



فکر خوبیه ولی از من نیاز نیست کاربر تاریخ وارد کنه تنها موقع ثبت تاریخ همون روز درج میشه تاریخ از سیستم میگیره ولی حالا دو تاریخ ثبت کردم یکی تاریخ شمی با nvar و یکی تاریخ میلادی با نوع Datetime ضرورت من اینست چون برنامه قراره انگلیسی فارسی باشه زمانی که انگلیسی انتخاب میشه دیتاگرید رو از نوع تاریخ میلادی پر میکنم و زمانی که فارسی شد از نوع شمسی و زمان جستجو هم تاریخ شمسی را به میلادی تبدیل کنم و جستجو کنم من فیلدش را Datetime انتخاب کردم همرای تاریخ ساعت هم ذخیره میشه ایا هنگام جستجو مشکلی پیش نماید به اساس تاریخ جستجو میکنه اگر ساعت هم کنارش باشه

FastCode
سه شنبه 20 مرداد 1394, 19:19 عصر
بعد از اینکه همه سطرهات رو خوندی با یک تابع ستونهای مورد نظرت رو تبدیل کن. بعد وضعیت همه سطرها رو به شکل دستی بکن unchanged.
وقتی میخواهی ذخیره کنی همه سطرهایی که تغییر کردن رو دوباره تبدیل کن.
کار قشنگی نیست ولی تمیزترین روشی که با گرید درگیرتون نکنه همینه.