PDA

View Full Version : خطای تبدیل یک سلول از datagrid میلادی به شمسی



رامین مرادی
پنج شنبه 16 شهریور 1396, 09:53 صبح
وقت بخیر دوستان من تو رویداد فرمت دیتا گرید این کد رو نوشتم برای تاریخ میلادی به شمسی.


string date1 = dgv1.Rows[e.RowIndex].Cells["Date1"].Value.ToString();
DateTime d = new DateTime();
int Year = int.Parse(date1.Substring(0,4));
int Month = int.Parse(date1.Substring(5, 2));
int Day = int.Parse(date1.Substring(8, 2));
PersianCalendar b=new PersianCalendar();

dgv1.Rows[e.RowIndex].Cells["ِDate1"].Value=string.Format(@"{0}/{1}/{2}",b.GetYear(d),b.GetMonth(d),b.GetDayOfMonth(d));





اما خطای زیر رو نشون میده
Specified time is not supported in this calendar. It should be between 03/22/0622 00:00:00 (Gregorian date) and 12/31/9999 23:59:59 (Gregorian date), inclusive.

کجای کدم اشتباهه؟
در ضمن نوع فیلدی که از دیتا بیس به این سلول برمیگردونم فرمتش date هست.(ممکنه خطا از این باشه؟!!)

ژیار رحیمی
پنج شنبه 16 شهریور 1396, 13:52 عصر
کد شما مشکلی نداره شما ستونی از دیتاگرید را که دیتاتیپ آن از نوع Date هست یک سلول آن را به String تبدیل کردی و مجدد در همان سلول مقدار دهی کردی.مثل مقدار دهی تاریخ شمسی(String )به متغییر از نوع Date هست.شما یک ستون اضافه با دیتاتایپ استرینگ اضافه کن نتیجه تبدیل تاریخ را در ان ستون قرار بده و ستون از نوع Date اصلی رو مخفی کن
ا