ورود

View Full Version : نمايش تاريخ شمسي در gridview



mohammad87
سه شنبه 12 شهریور 1387, 17:36 عصر
چطور مي تونم توي gridview تاريخ ميلادي كه توي بانك هست رو به صورت شمسي نمايش بدم؟؟؟؟؟

من با دستور زير دارم اطلاعاتمو توي gridview نشان مي دم فقط نمي تونم به شمسي نشون بدم ؟؟؟


private void bindgride_suggestion()
{
SqlConnection consuggestion = new SqlConnection("Data Source=MOHI-MOSI\\SQLEXPRESS;Initial Catalog=Hedayat-Web;Integrated Security=True");
SqlCommand cmdsuggestion = new SqlCommand("SelectSuggestion", consuggestion);
cmdsuggestion.CommandType = CommandType.StoredProcedure;
int id = Convert.ToInt32(Session["gaduates"]);
cmdsuggestion.Parameters.Add("@id", SqlDbType.BigInt).Value = id;

consuggestion.Open();
gridview_suggestion.DataSource = cmdsuggestion.ExecuteReader();
gridview_suggestion.DataBind();
consuggestion.Close();
}

salehbagheri
سه شنبه 12 شهریور 1387, 18:02 عصر
برادر عزيز! يك سايت براتون تو همين انجمن گذاشتم و درست همين كاري رو كه مي خواهيد، داخلش انجام دادم.
خوشحال مي شم كه شما هم از آن كدها استفاده كنيد!

mohammad87
چهارشنبه 13 شهریور 1387, 12:39 عصر
لطفا همون سايتي كه عرض كردين بدين برادر .
هر چي گشتم پيداش نكردم ؟

saina2006
چهارشنبه 13 شهریور 1387, 13:21 عصر
http://barnamenevis.org/forum/showthread.php?t=120344

mohammad87
چهارشنبه 13 شهریور 1387, 13:45 عصر
من اينو توي اسكريپت در قسمت gridview اضافه كردم
<asp:TemplateField>
<ItemTemplate>
<%# miladitoshamsi(Eval("date_input")).ToString("yyyy/mm/dd") %>
</ItemTemplate>
</asp:TemplateField>
من توي كد نويسي اين تابع رو نوشتم ولي باز اين error رو ميده :


Error 1 'suggestion_input.miladitoshamsi(string)' is inaccessible due to its protection level E:\Hedayat-Website\suggestion_input.aspx 22 66 E:\Hedayat-Website\

mohammad87
چهارشنبه 13 شهریور 1387, 13:50 عصر
كد توي برنامه نوسي

private string miladitoshamsi (string miladi1)
{
DateTime miladi = Convert.ToDateTime(miladi1);
PersianCalendar shamsi = new PersianCalendar();
DateTime shamsidate = new DateTime(shamsi.GetYear(miladi),shamsi.GetMonth(mi ladi),shamsi.GetDayOfMonth(miladi));
return shamsidate.ToLongDateString();
}

salehbagheri
چهارشنبه 13 شهریور 1387, 16:57 عصر
برادر عزيز! خروجي كد شما از نوع رشته اي هست و نمي شه اون رو به فرمت تاريخ نوشت! نوع تابع تان رو تبديل به Date كنيد!

mohammad87
چهارشنبه 13 شهریور 1387, 20:18 عصر
حل شد :


<asp:TemplateField>

<ItemTemplate>
<%# System.Convert.ToDateTime(miladitoshamsi(Eval("date_input")))%>
</ItemTemplate>
</asp:TemplateField>


public string miladitoshamsi (object miladi1)
{
DateTime miladi = Convert.ToDateTime(miladi1);
PersianCalendar shamsi = new PersianCalendar();
DateTime shamsidate = new DateTime(shamsi.GetYear(miladi),shamsi.GetMonth(mi ladi),shamsi.GetDayOfMonth(miladi));
return shamsidate.ToLongDateString();
}