View Full Version : سوال: نمایش تاریخ شمسی در کنترل DropDownList
  
majid.mp
پنج شنبه 16 آذر 1391, 00:44 صبح
با عرض سلام خدمت دوستان
دوستان لطفاً راهنمایی بفرمایید در کنترل DropDownList ی که به بانک متصل میباشد چگونه میتوانم تاریخ میلادی را به شمسی نمایش دهم؟
با تشکر
malloc
پنج شنبه 16 آذر 1391, 00:50 صبح
این تابع رو دکتر عزیزی (استاد دانشگاه رجا قزوین) به من داد . فکر کنم کارتو را بندازه 
        public string toJalaliDate(DateTime n)
        {
            PersianCalendar pc = new PersianCalendar();
            string y = pc.GetYear(n).ToString();
            string d = (pc.GetDayOfMonth(n) > 9 ? pc.GetDayOfMonth(n).ToString() : "0" + pc.GetDayOfMonth(n).ToString());
            string m = (pc.GetMonth(n) > 9 ? pc.GetMonth(n).ToString() : "0" + pc.GetMonth(n).ToString());
            return (y + "/" + m + "/" + d);
        }
majid.mp
پنج شنبه 16 آذر 1391, 00:59 صبح
با تشکر از پاسخ شما
 تابعی که شما معرفی کرده اید یک کلاس نیاز دارد در این کد یک شی با عنوان pc از کلاس PersianCalendar ایجاد شده لطفاً در صورت امکان کلاس را هم قرار دهید؟
malloc
پنج شنبه 16 آذر 1391, 01:13 صبح
using System.Globalization;
majid.mp
پنج شنبه 16 آذر 1391, 09:12 صبح
با تشکر از پاسخ شما
تابع شما درست عمل میکنه ولی من چگونه میتوانم از آن در کنترل DropDownList ی که به جدولم بایند میباشد استفاده نمایم؟
ddl_Days.DataTextField = toJalaliDate(Convert.ToDateTime("dt_TodayDate"));
بنده به صورت بالا کد نوشتم ولی فیلد dt_TodayDate را به عنوان رشته میشناسد!
با تشکر
fakhravari
پنج شنبه 16 آذر 1391, 12:27 عصر
ابتدا باید به DropDownList ایتم ها را اد کنید به روش پایین.
DropDownList1.Items.Add(new ListItem(myReader[TextField].ToString(), myReader[ValueField].ToString()));
روش تبدیل تاریخ هم 
public static string ToShamsi(DateTime miladiDate)
        {
            PersianCalendar persianCalendar = new PersianCalendar();
            string year = persianCalendar.GetYear(miladiDate).ToString("0000");
            string month = persianCalendar.GetMonth(miladiDate).ToString("00");
            string day = persianCalendar.GetDayOfMonth(miladiDate).ToString ("00");
            string Hour = persianCalendar.GetHour(miladiDate).ToString("00");
            string Second = persianCalendar.GetSecond(miladiDate).ToString("00");
            string Minute = persianCalendar.GetMinute(miladiDate).ToString("00");
            string Millisecond = persianCalendar.GetMilliseconds(miladiDate).ToStri ng("00");
            return year + "/" + month + "/" + day + " " + Hour + ":" + Minute + ":" + Second + ":" + Millisecond;
        }
malloc
پنج شنبه 16 آذر 1391, 13:56 عصر
با تشکر از پاسخ شما
تابع شما درست عمل میکنه ولی من چگونه میتوانم از آن در کنترل DropDownList ی که به جدولم بایند میباشد استفاده نمایم؟
ddl_Days.DataTextField = toJalaliDate(Convert.ToDateTime("dt_TodayDate"));
بنده به صورت بالا کد نوشتم ولی فیلد dt_TodayDate را به عنوان رشته میشناسد!
با تشکر
 
فکر میکنم جوابی که دوستمون آقای فخراوری دادن دیگه کامل و مشکلتون کاملا برطرف شده درسته؟؟
majid.mp
جمعه 17 آذر 1391, 00:26 صبح
فکر میکنم جوابی که دوستمون آقای فخراوری دادن دیگه کامل و مشکلتون کاملا برطرف شده درسته؟؟
 بله مشکل حل شد ، از وقتی که برای پاسخ به سوال بنده گذاشتید سپاسگزارم.
 
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.