PDA

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



fakhravari
سه شنبه 09 خرداد 1391, 01:41 صبح
با سلام
به چه شکل باید داده های قمری که از دیتابیس می اید در برنامه تبدیل به شمسی شود.:لبخندساده:

alonemm
سه شنبه 09 خرداد 1391, 12:11 عصر
باسلام دوست عزیز:

برای نمایش تاریخ به صورت شمسی شما 2 راه دارید:

1- دقت کنید که در StmulReport شما دارای Script Language هستید که میتونید روی گزینه های Csharp و VB تنظیم کنید که نوع زبان کدنویسی صفحه رو مشخص میکنه.
خب بسته به نوع زبان کدنویسی برنامتون یکی رو انتخاب کنید.
در مرحله بعد در سمت برنامه کاربردیتون یک ClassLibrary ایجاد کنید و در یک فایل کلاس یک متد برای تغییر تاریخ ورودی به شمسی ایجاد کنید.
سپس در قسمت Properties روی Report کلیک کنید و خاصیت Referenced Assemblies رو کلیک کنید و نام فضای نام مربوط به ClassLibrary رو که ایجاد کردید رو اضافه کنید.

حالا میتونید روی مثل جعبه متنی که تاریخ میلادی هست کلیک کنید و قبل از نام فیلد نام متد مورد نظر رو تایپ کنید و نام ستون رو در () قرار بدید.


راه دوم هم این هست که یک تابع در TSQL بنویسید و قبل از واکشی این تابع رو بروی ستون مورد نظر اعمال کنید.



موفق باشید.

alonemm
سه شنبه 09 خرداد 1391, 12:21 عصر
Referenced Assemblies کجاست؟
به عکس زیر دقت کنید:

fakhravari
سه شنبه 09 خرداد 1391, 12:50 عصر
من یه کلاس درست کردم
namespace FakhrDate
{
public class Fakhr_Date
{
public static string ShamsiDate(DateTime date)
{
return Yare_Persian(date) + "/" + Dt(Month_Persian(date)) + "/" + Dt(Day_Persian(date));
}


private static string Day_Persian(DateTime Now)
{
PersianCalendar pc = new PersianCalendar();
return pc.GetDayOfMonth(Now).ToString();
}
private static string Month_Persian(DateTime Now)
{
PersianCalendar pc = new PersianCalendar();
return pc.GetMonth(Now).ToString();
}
private static string Yare_Persian(DateTime Now)
{
PersianCalendar pc = new PersianCalendar();
return pc.GetYear(Now).ToString();
}
private static string Dt(string ch)
{
if (ch.Length.ToString() == "1")
{
return "0" + ch;
}
else
{
return ch;
}

}
}
}

بعد در برنامه با
using FakhrDate; وصل میشه بعد
و متد Response.Write(Fakhr_Date.ShamsiDate(DateTime.Now) );
چطوری باید فراخونیش کنم.؟

fakhravari
سه شنبه 09 خرداد 1391, 12:55 عصر
ایا باید به این شکل فراخونی کرد؟
{Fakhr_Date.ShamsiDate({B_Topics.Date})}
به این شکل Erro میده

alonemm
سه شنبه 09 خرداد 1391, 13:00 عصر
به شکل زیر امتحان کنید:

{FakhrDate.Fakhr_Date.ShamsiDate(B_Topics.Date)}

fakhravari
سه شنبه 09 خرداد 1391, 13:09 عصر
باید به این شکل فراخونی کنیم {FakhrDate.Fakhr_Date.ShamsiDate(B_Topics.Date)}