مرجع تخصصی برنامه نویسان

انجمن تخصصی برنامه نویسان فارسی زبان

کاربر سایت

ahmadzarei

عضویت از 1395/05/14

نمایش تاریخ شمسی در دیتاگرید

  • دوشنبه 15 آبان 1396
  • 19:40
تشکر میکنم

سلام

میخوام از database تاریخ میلادی رو بگیرم و در دیتاگرید اونو به تاریخ شمسی تبدیل کنم.

لطفا راهنمایی کنید.

پاسخ های این پرسش

تعداد پاسخ ها : 7 پاسخ
کاربر سایت

ایمان مدائنی

عضویت از 1392/01/20

  • سه شنبه 16 آبان 1396
  • 09:24

از PersianCalendar استفاده کنید

System.Globalization.PersianCalendar x = new System.Globalization.PersianCalendar();
        DateTime dt = x.ToDateTime(1390, 4, 21, 0, 0, 0, 0, 0);

کاربر سایت

ahmadzarei

عضویت از 1395/05/14

  • سه شنبه 16 آبان 1396
  • 10:43

استاد این کد رو ببینید

                PersianCalendar pc = new PersianCalendar();

                var person = (from p in db.Users
                                where p.RoleID == 2 && p.IsActive == true
                                orderby p.Family
                                select new
                                {
                                    نام = p.Name,
                                    نام_خانوادگی = p.Family,
                                    کدملی = p.Kode,
                                    موبایل = p.Mobile,
                                    تلفن = p.Mobile,
                                    شهر = p.City,
                                    آدرس = p.Address,
                                    تاریخ_ثبت_نام = pc.GetYear(p.RegesterDate)+ " / " + pc.GetMonth(p.RegesterDate) + " / " + pc.GetDayOfMonth(p.RegesterDate)
                                }).Skip(pagenum * pagesize).Take(pagesize);
                dataUser.DataSource = person.ToList();

تو select از تابع نمیشه استفاده کرد

از ی روش دیگه استفاده کردم

یک کلاس ساختم اطلاعات رو ریختم تو اون کلاس و  تاریخ رو همونجا تبدیل کردم ولی مشکلی ک داشت برنامه وقتی اجرا میشد همون موقع اطلاعات رو میریخت تو کلاس و اگر ی نفر دیگه رو ثبت نام میکردم اونو تو گرید نمایش نمیداد ینعی به کلاسی ک ساخته بودم اضافه نمیکرد باید برنامه رو یکبار دیگه اجرا میکردم تا اونو هم اضافه کنه به کلاس.

کاربر سایت

ایمان مدائنی

عضویت از 1392/01/20

  • سه شنبه 16 آبان 1396
  • 11:15

اشتباهی که شما کردید تاریخ را شمسی ذخیره کردید و بعد دچار مشکلات زیادی خواهید شد

تاریخ را درست کنید و میلادی ذخیره کنید و موقع نمایش تبدیل به شمسی کنید

کاربر سایت

ahmadzarei

عضویت از 1395/05/14

  • سه شنبه 16 آبان 1396
  • 13:07

استاد تاریخ رو میلادی تو دیتابیس ذخیره کردم

کد بالا رو ک براتون فرستادم برای نمایش اطلاعات تو گریده ولی خط 15 ارور میده.

کاربر سایت

ایمان مدائنی

عضویت از 1392/01/20

  • سه شنبه 16 آبان 1396
  • 13:12

نمیتونید در بدنه کوئری Convert کنید

باید بیرون اینکار را انجام دهید

کاربر سایت

ahmadzarei

عضویت از 1395/05/14

  • سه شنبه 16 آبان 1396
  • 14:10

بله

منم مشکلم همینه چجوری بیرون بدنه convert کنم

کاربر سایت

ایمان مدائنی

عضویت از 1392/01/20

  • سه شنبه 16 آبان 1396
  • 14:17

تاریخ رو به صورت میلادی در کوئری بگیرید و بعد یک حلقه روی نتیجه بزنید و ویرایش کنید به شمسی

کاربرانی که از این پست تشکر کرده اند

هیچ کاربری تا کنون از این پست تشکر نکرده است

اگر نیاز به یک مشاور در زمینه طراحی سایت ، برنامه نویسی و بازاریابی الکترونیکی دارید

با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)