PDA

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



shahab_ksh
سه شنبه 24 تیر 1399, 00:41 صبح
با سلام

توی ویندوز 2016 میشه تاریخ پیش فرض ویندوز رو به شمسی تغییر داد و گرید ویو هم به صورت پیش فرض تاریخ ها رو به صورت شمسی نشون میده

توی ویندوز 2012r2 انگار ویندوز رو نمیشه شمسی کرد و توی گرید ویو هم به صورت پیش فرض به صورت میلادی نشون میده

چطور میشه یا به ویندوز 2012 تقویم شمسی اضافه کرد یا گرید ویو رو بدون استفاده از تابع تبدیل دستی در Row ها شمسی کرد

مهدی کرامتی
سه شنبه 24 تیر 1399, 01:29 صبح
نمونه کدی که در اینجا (https://barnamenevis.net/Home/Article/1025?استفاده-از-تاریخ-و-DatePicker-شمسی-در-برنامه-های-ASP.NET-MVC) در فایل Global.asax فرخوانی شده در همان فایل در ASP.NET Web Forms نیز قابل فرخوانی و استفاده است.
با استفاده از رویه فوق، Culture کنونی برنامه بر روی fa-IR و تقویم مورد استفاده اپلیکیشن به صورت پیش فرض به PersianCalendar تبدیل می شود. به این ترتیب، هر جایی در برنامه که نوع DateTime به کار رفته باشد به صورت خودکار به صورت شمسی نمایش داده خواهد شد. اگر جنس ستون مربوطه در SQL Server نیز DateTime باشد تاریخ در آن ستون/ردیف به صورت صحیح ذخیره شده و با وجودی که در SQL Management Studio در داده های آن جدول، تاریخ ها را به صورت میلادی می بینید در سمت برنامه همان تاریخ ها در Grid و ... به صورت شمسی نمایش داده خواهد شد.

لازم به ذکر است شمسی کردن تاریخ با روش فوق نیازی به شمسی بودن تاریخ در سیستم عامل ندارد و بر روی سروری که تاریخ در آن به صورت میلادی دیده می شود نیز تاریخ ها در برنامه به صورت شمسی دیده می شود.

shahab_ksh
سه شنبه 24 تیر 1399, 12:55 عصر
ممنون از پاسختون جناب آقای کرامتی لینک فکر می کنم به صفحه ای در مورد T4 مربوط بود

اگر منظور این خط کد هست گذاشتم کار نکرد حال نمی دونم مشکل از کجاست توی فایل Global.ascx



Sub Application_Start(sender As Object, e As EventArgs)

System.Globalization.CultureInfo.DefaultThreadCurr entCulture = New System.Globalization.CultureInfo("fa-IR")

مهدی کرامتی
سه شنبه 24 تیر 1399, 13:29 عصر
ممنون از پاسختون جناب آقای کرامتی لینک فکر می کنم به صفحه ای در مورد T4 مربوط بود

اگر منظور این خط کد هست گذاشتم کار نکرد حال نمی دونم مشکل از کجاست توی فایل Global.ascx



Sub Application_Start(sender As Object, e As EventArgs)

System.Globalization.CultureInfo.DefaultThreadCurr entCulture = New System.Globalization.CultureInfo("fa-IR")






لینک درون مطلب اصلاح شد.

shahab_ksh
سه شنبه 24 تیر 1399, 14:40 عصر
خیلی ممنون به روش شما حل شد.