نمایش نتایج 1 تا 33 از 33

نام تاپیک: چگونگی استفاده از تاریخ شمسی در asp.net

  1. #1

    چگونگی استفاده از تاریخ شمسی در asp.net

    سلام دوستان
    میخام از تاریخ شمسی در پروژم استفاده کنم اگه کمکم کنید ممنون میشم

  2. #2
    کاربر دائمی
    تاریخ عضویت
    اسفند 1389
    محل زندگی
    زیر سایه شما :دی
    پست
    381

    نقل قول: چگونگی استفاده از تاریخ شمسی در asp.net

    به این آدرس مراجعه کنید

  3. #3

    نقل قول: چگونگی استفاده از تاریخ شمسی در asp.net


  4. #4

    نقل قول: چگونگی استفاده از تاریخ شمسی در asp.net


  5. #5

    نقل قول: چگونگی استفاده از تاریخ شمسی در asp.net

    یک راه حل ساده برای استفاده از تاریخ شمسی در دات نت 3.5 به بالا

    اینجوری هم استفاده میشه:
    string shamsiToday = DateTime.Now.ToShamsi();

    DateTime miladiDate = "1389/10/11".ToMiladi();

  6. #6

    نقل قول: چگونگی استفاده از تاریخ شمسی در asp.net

    سلام به نظر من اینم یه راه حله خوبیه
    http://www.codeproject.com/Articles/...rsian-DateTime

  7. #7

    نقل قول: چگونگی استفاده از تاریخ شمسی در asp.net

    دوستان اگر بخواهیم در گرید ویو تاریخی که میلادی در پایگاه درج شده رو به شمسی نشون بدیم باید چه کنیم ؟

  8. #8
    کاربر دائمی آواتار aminireza65
    تاریخ عضویت
    مهر 1392
    محل زندگی
    تهران
    پست
    206

    نقل قول: چگونگی استفاده از تاریخ شمسی در asp.net

    در رویداد databound از گرید ویو یه حلقه ایجاد میکنی که از صفر تا grid.rows.count-1 بشماره و سطر به سطر بررسی کنه.

    System.Globalization.PersianCalendar p = new System.Globalization.PersianCalendar
    DateTime d = new DateTime
    d = tarikh miladi
    p.GetDayOfMonth(d)
    p.GetMonth(d)
    p.GetYear(d)



    با این کار روز و ماه و سال رو به شمسی جداگونه بهت میده.
    بعد دوباره تاریخ شمسی رو بنویس به جای تاریخ میلادی گرید:
    grid.rows[i].cell[].text=tarikh shamsi

  9. #9

    نقل قول: چگونگی استفاده از تاریخ شمسی در asp.net

    سپاس از شما ، ببخشید این
    grid.rows[i].cell[].text=tarikh shamsi رو کجا باید بنویسم ؟ و اون 4 خط کد آخر را باید داخل حلقه بزارم ؟

  10. #10
    کاربر دائمی آواتار aminireza65
    تاریخ عضویت
    مهر 1392
    محل زندگی
    تهران
    پست
    206

    نقل قول: چگونگی استفاده از تاریخ شمسی در asp.net

    کل این کد رو داخل حلقه for بنویسید.

    System.Globalization.PersianCalendar p = new System.Globalization.PersianCalendar
    DateTime d = new DateTime
    d = grid.rows[i].cell[andis mored nazar].text
    grid.rows[i].cell[andis mored nazar].text=p.GetDayOfMonth(d)+"/"+p.GetMonth(d)+"/"+p.GetYear(d)


  11. #11

    نقل قول: چگونگی استفاده از تاریخ شمسی در asp.net

    من کد را به این صورت نوشتم اما این خطا رو میده : من کروشه و پرانتز هم گذاشتم اما بازم خطا می دهد : A new expression requires (), [], or {} after type

    از تعریف متغیر d خطا می گیره با اینکه کروشه و پرانتز هم دادم ، کدهایی که نوشتم :

     protected void GridView1_DataBound(object sender, EventArgs e)    {
    for (int i = 0; i < ShopGrid.Rows.Count - 1; i++)
    {
    System.Globalization.PersianCalendar p = new System.Globalization.PersianCalendar
    DateTime d =new DateTime;
    d=Convert.ToDateTime(ShopGrid.Rows[i].Cells[3].Text);
    ShopGrid.Rows[i].Cells[4].Text=p.GetDayOfMonth(d)+"/"+p.GetMonth(d)+"/"+p.GetYear(d);

    }

    }

  12. #12

    نقل قول: چگونگی استفاده از تاریخ شمسی در asp.net

    دوستان کسی نمی دونه ایراد این کد من از چیه ؟ لطفا راهنمایی کنید که بتونم ازش استفاده کنم

  13. #13

    نقل قول: چگونگی استفاده از تاریخ شمسی در asp.net

    دوست عزیز شما وقتی از یک کلاس یک شی یا اصطلاحا یک نمونه می گیرید دارید متد سازنده اون رو صدا می زنید، پس پرانتزها رو فراموش نکنید.
    ; آخر خطوط هم فراموش نشه.
    کد شما اینطوری اصلاح میشه:

        protected void GridView1_DataBound(object sender, EventArgs e)    
    {
    for (int i = 0; i < ShopGrid.Rows.Count - 1; i++)
    {
    System.Globalization.PersianCalendar p = new System.Globalization.PersianCalendar();
    DateTime d =new DateTime();
    d=Convert.ToDateTime(ShopGrid.Rows[i].Cells[3].Text);
    ShopGrid.Rows[i].Cells[4].Text = p.GetDayOfMonth(d) + "/" + p.GetMonth(d) + "/" + p.GetYear(d);
    }
    }

  14. #14

    نقل قول: چگونگی استفاده از تاریخ شمسی در asp.net

    ممنونم که جواب دادین ؛ حتما اعلام نتیجه میکنم :)

  15. #15

    نقل قول: چگونگی استفاده از تاریخ شمسی در asp.net

    ممنونم ، درست شد ، اما دیدم سطر آخر گرید رو تبدیل نکرده بوده ، من -1 count رو در حلقه برداشتم . سپاس از شما
    آخرین ویرایش به وسیله angel farahani : یک شنبه 10 فروردین 1393 در 23:10 عصر

  16. #16

    نقل قول: چگونگی استفاده از تاریخ شمسی در asp.net

    من کد شما رو از لحاظ سینتکس بررسی کردم، اما ظاهرا اشکال منطقی هم داره.
    این کد داره رویداد DataBound برای GridView1 رو مشخص می کنه اما شما دارید داخل گریدویوی ShopGrid رو تغییر می دهید.
    کد رو برای رویداد گرید مد نظرتون ست کنید.
    پیشنهاد می کنم از رویداد RowDataBound استفاده کنید.

  17. #17

    نقل قول: چگونگی استفاده از تاریخ شمسی در asp.net

    بله اون رو متوجه شدم درست کردم ، فقط یه چیزی من برای گرید گزینه ویرایش گذاشتم ، اون رو که میزنم این خطا رو میده که مربوط به کد شمسی کردن هست ، از اون بخش convert ایراد میگیره

    String was not recognized as a valid DateTime.

    آخرین ویرایش به وسیله angel farahani : دوشنبه 11 فروردین 1393 در 00:10 صبح

  18. #18

    نقل قول: چگونگی استفاده از تاریخ شمسی در asp.net

    چک کنید ببینید در زمانی که خطا میده چه مقداری رو می خواهد تبدیل کنه که به خطا برمیخوره.
    اگر راه حلی پیدا نکردید، کد گرید و کد رویداد رو بذارید.

  19. #19

    نقل قول: چگونگی استفاده از تاریخ شمسی در asp.net

    protected void ShopGrid_RowDataBound(object sender, GridViewRowEventArgs e)
    {
    for (int i = 0; i < ShopGrid.Rows.Count; i++)
    {
    System.Globalization.PersianCalendar p = new System.Globalization.PersianCalendar();
    DateTime d = new DateTime();
    d = Convert.ToDateTime(ShopGrid.Rows[i].Cells[4].Text);
    ShopGrid.Rows[i].Cells[4].Text = p.GetDayOfMonth(d) + "/" + p.GetMonth(d) + "/" + p.GetYear(d);
    }
    }

    این کد من هست و از خط
    d = Convert.ToDateTime(ShopGrid.Rows[i].Cells[4].Text);
    ایراد می گیره . ممنون میشم راهنماییم کنید

  20. #20
    کاربر دائمی آواتار aminireza65
    تاریخ عضویت
    مهر 1392
    محل زندگی
    تهران
    پست
    206

    نقل قول: چگونگی استفاده از تاریخ شمسی در asp.net

    موقعی که تاریخ میلادی رو میخوای درج کنی در دیتابیس از چی استفاده میکنی؟؟
    اگه اونجا هم از کلاس datetime استفاده کنی حل میشه.

  21. #21

    نقل قول: چگونگی استفاده از تاریخ شمسی در asp.net

    نوع آن را در پایگاه datetime دادم ، اما بازم ایراد می گیره ، نباید یک جور دیگه convert کنم تا نوع تاریخ رو بشناسه ؟؟؟ ممنونم

  22. #22

    نقل قول: چگونگی استفاده از تاریخ شمسی در asp.net

    در زمان اجرا تریس کنید مقدار ShopGrid.Rows[i].Cells[4].Text رو همینجا بذارید، هر چی که هست از این مقدار هست.
    این تیکه کد رو انتخاب کنید و CTRL+D و بعدش CTRL+Q رو بزنید، مقدارش رو داخل Watch نشون میده.

  23. #23

    نقل قول: چگونگی استفاده از تاریخ شمسی در asp.net

    مقدار d رو این نشون میده

    {1/1/0001 12:00:00 AM}

  24. #24

    نقل قول: چگونگی استفاده از تاریخ شمسی در asp.net

    نقل قول نوشته شده توسط angel farahani مشاهده تاپیک
    مقدار d رو این نشون میده

    {1/1/0001 12:00:00 AM}
    این تاریخ یعنی اینکه مقداری داخل گریدویو ندارید یا درست به دست نمی آد!
    کد صقحه گریدویو و کد پر کردن گریدویو رو بذارید.

  25. #25

    نقل قول: چگونگی استفاده از تاریخ شمسی در asp.net

    تاریخ قبلا در پایگاه درج شده من نوع تاریخ رو به datetime و date تغییر دادم ، که مشکل حل نشد

     <asp:GridView ID="ShopGrid" runat="server" AllowPaging="True" AutoGenerateColumns="False" DataKeyNames="shopid" DataSourceID="Shopds" PageSize="4" style="text-align: center" OnRowDataBound="ShopGrid_RowDataBound">                        <Columns>
    <asp:TemplateField ShowHeader="False" HeaderText="ویرایش و حذف">
    <EditItemTemplate>
    <asp:Button ID="Button1" runat="server" CausesValidation="True" CommandName="Update" Text="به روز رسانی" />
    &nbsp;<asp:Button ID="Button2" runat="server" CausesValidation="False" CommandName="Cancel" Text="لغو" />
    </EditItemTemplate>
    <ItemTemplate>
    <asp:Button ID="Button1" runat="server" CausesValidation="False" CommandName="Edit" Text="ویرایش" />
    &nbsp;<asp:Button ID="Button2" runat="server" CausesValidation="False" CommandName="Delete" Text="حذف" Width="51px" OnClientClick="return confirm('آیا از حذف مطمئن هستید؟');" />
    </ItemTemplate>
    </asp:TemplateField>
    <asp:BoundField DataField="shopid" HeaderText="کد" InsertVisible="False" ReadOnly="True" SortExpression="shopid" />
    <asp:BoundField DataField="shopname" HeaderText="نام رستوران/فست فود" SortExpression="shopname" />
    <asp:TemplateField HeaderText="نوع رستوران" SortExpression="shoptypeid">
    <EditItemTemplate>
    <asp:DropDownList ID="DropDownList1" runat="server" DataSourceID="shoptypeds" DataTextField="shoptypename" DataValueField="shoptypeid" SelectedValue='<%# Bind("shoptypeid") %>'>
    </asp:DropDownList>
    <asp:SqlDataSource ID="shoptypeds" runat="server" ConnectionString="<%$ ConnectionStrings:OnlineResturansConnectionString %>" SelectCommand="SELECT * FROM [shoptype]"></asp:SqlDataSource>
    </EditItemTemplate>
    <ItemTemplate>
    <asp:Literal ID="Literal1" runat="server" Text='<%# shoptype(Eval("shoptypeid")) %>'></asp:Literal>
    </ItemTemplate>
    </asp:TemplateField>
    <asp:TemplateField HeaderText="تاریخ عضویت" SortExpression="registerdate">
    <EditItemTemplate>
    <asp:TextBox ID="TextBox2" runat="server" ReadOnly="True" Text='<%# Bind("registerdate") %>'></asp:TextBox>
    </EditItemTemplate>
    <ItemTemplate>
    <asp:Label ID="Label2" runat="server" Text='<%# Bind("registerdate") %>'></asp:Label>
    </ItemTemplate>
    </asp:TemplateField>
    <asp:TemplateField HeaderText="آدرس" SortExpression="address">
    <EditItemTemplate>
    <asp:TextBox ID="TextBox1" runat="server" Height="50px" Text='<%# Bind("address") %>' TextMode="MultiLine"></asp:TextBox>
    </EditItemTemplate>
    <ItemTemplate>
    <asp:Label ID="Label1" runat="server" Text='<%# Bind("address") %>'></asp:Label>
    </ItemTemplate>
    </asp:TemplateField>
    <asp:BoundField DataField="phone" HeaderText="شماره تماس" SortExpression="phone" />
    <asp:TemplateField HeaderText="جزئیات بیشتر">
    <ItemTemplate>
    <asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl='<%# Eval("shopid", "shopdetail.aspx?id={0}") %>' Text='<%# Eval("shopid", "جزئیات بیشتر") %>' Width="100px"></asp:HyperLink>
    </ItemTemplate>
    </asp:TemplateField>
    </Columns>
    </asp:GridView>
    <asp:SqlDataSource ID="Shopds" runat="server" ConnectionString="<%$ ConnectionStrings:OnlineResturansConnectionString %>" DeleteCommand="DELETE FROM [shop] WHERE [shopid] = @shopid" InsertCommand="INSERT INTO [shop] ([shopname], [shoptypeid], [registerdate], [address], [phone]) VALUES (@shopname, @shoptypeid, @registerdate, @address, @phone)" SelectCommand="SELECT [shopid], [shopname], [shoptypeid], [registerdate], [address], [phone] FROM [shop] ORDER BY [shopname] DESC" UpdateCommand="UPDATE [shop] SET [shopname] = @shopname, [shoptypeid] = @shoptypeid, [registerdate] = @registerdate, [address] = @address, [phone] = @phone WHERE [shopid] = @shopid">
    <DeleteParameters>
    <asp:Parameter Name="shopid" Type="Int32" />
    </DeleteParameters>
    <InsertParameters>
    <asp:Parameter Name="shopname" Type="String" />
    <asp:Parameter Name="shoptypeid" Type="Byte" />
    <asp:Parameter DbType="Date" Name="registerdate" />
    <asp:Parameter Name="address" Type="String" />
    <asp:Parameter Name="phone" Type="String" />
    </InsertParameters>
    <UpdateParameters>
    <asp:Parameter Name="shopname" Type="String" />
    <asp:Parameter Name="shoptypeid" Type="Byte" />
    <asp:Parameter DbType="Date" Name="registerdate" />
    <asp:Parameter Name="address" Type="String" />
    <asp:Parameter Name="phone" Type="String" />
    <asp:Parameter Name="shopid" Type="Int32" />
    </UpdateParameters>
    </asp:SqlDataSource>

  26. #26

    نقل قول: چگونگی استفاده از تاریخ شمسی در asp.net

    Cells[4] گریدویوی شما یک Label داره و در زمان اجرا این لیبل تبدیل به یک span میشه که متن داخلش قرار میگیره. به همین دلیل وقتی شما Cells[4].Text رو میگیرید کل تگ داخلش رو میگیرید.
    توی کدتون این تغییر رو بدید ببینید حل میشه:
    (چون کدتون در رویداد RowDataBound هست دیگه نیازی به حلقه نیست.)

        protected void ShopGrid_RowDataBound(object sender, GridViewRowEventArgs e) 
    {
    if (e.Row.RowType == DataControlRowType.DataRow)
    {
    System.Globalization.PersianCalendar p = new System.Globalization.PersianCalendar();
    DateTime d = new DateTime();
    d = Convert.ToDateTime(((Label)e.Row.FindControl("Labe l2")).Text);
    e.Row.Cells[4].Text = p.GetDayOfMonth(d) + "/" + p.GetMonth(d) + "/" + p.GetYear(d);
    }
    }


  27. #27

    نقل قول: چگونگی استفاده از تاریخ شمسی در asp.net

    ممنونم که وقت میزارید ، نه مقدارش رو چک کردم همون {1/1/0001 12:00:00 AM} هست و خطای Object reference not set to an instance of an object. رو میده .

  28. #28

    نقل قول: چگونگی استفاده از تاریخ شمسی در asp.net

    دوستان در حالت نمایش گرید ، تاریخ رو شمسی نشون می دهد ، اما چون من در گرید گزینه ویرایش گذاشتم ، اون رو میزنم که رکورد رو ویرایش کنم از کد
     d = Convert.ToDateTime(((Label)e.Row.FindControl("Labe  l2")).Text);
    ، ایراد می گیره

    Object reference not set to an instance of an object.

    ، حالا من فیلد تاریخ رو readonly کردم که امکان تغییر رو نداشته باشه ولی خوب چرا ایراد از ویرایش می گیره .
    واقعا ممنونم که وقت میزارید

  29. #29
    کاربر دائمی آواتار aminireza65
    تاریخ عضویت
    مهر 1392
    محل زندگی
    تهران
    پست
    206

    نقل قول: چگونگی استفاده از تاریخ شمسی در asp.net

    الان که read only کردی بازم ایراد میگیره؟؟

  30. #30

    نقل قول: چگونگی استفاده از تاریخ شمسی در asp.net

    اگر می خواهید تاریخ عضویت توسط کاربر تغییر نکند اون رو از حالت ویرایش خارج کنید، کافی است که EditTemplate رو بردارید، اگر خطا داشتید، به جای TextBox از Label استفاده کنید.
    ReadOnly کردن تاثیری در موضوع ویرایش ردیف در گریدویو ایجاد نمی کنه. فقط TextBox رو فقط خواندنی می کنه.

  31. #31

    نقل قول: چگونگی استفاده از تاریخ شمسی در asp.net

    ممنونم ، بله Label گذاشتم ، اما باز از خطی که d مقدار می گیره خطا می گیره در هنگام ویرایش کردن

  32. #32

    نقل قول: چگونگی استفاده از تاریخ شمسی در asp.net

    خط آخر RowDataBound رو به این شکل تغییر بدید، ببینید مساله حل میشه:

    ((Label)e.Row.FindControl("lblDate")).Text = p.GetDayOfMonth(d) + "/" + p.GetMonth(d) + "/" + p.GetYear(d); 

    اگر جواب نگرفتید خط مربوط به شرط رو تغییر بدید:

    if (e.Row.RowType == DataControlRowType.DataRow || e.Row.RowState!=DataControlRowState.Edit) 

    مورد دیگه ای به ذهنم نمیرسه.

  33. #33

    نقل قول: چگونگی استفاده از تاریخ شمسی در asp.net

    نحوه استفاده از تقویم شمسی در asp.net و نمایش رویداد های خاص

    ابتدا به نحوه کلی استفاده از تقویم یا تاریخ شمسی در Asp.net می پردازیم.



    در مرحله اول فایل های css، jquery و اسکریپت مورد نیاز را در پروژه اضافه می کنیم:



    نحوه کلی استفاده از تاریخ شمسی به صورت زیر می باشد:



    هنگامی که روی باکس تاریخ کلیک کنیم، تقویم شمسی به صورت زیر نمایش داده می شود:




    اگر بخواهیم مقدار انتخاب شده را در متغیر داشته باشیم و در قسمت کد برنامه از آن استفاده کنیم، میتوانیم از کنترل textbox استفاده کنیم:



    در قسمت کد برنامه براحتی تاریخ انتخاب شده از متن textbox قابل دریافت است:


    تا اینجا نحوه کلی استفاده از تاریخ شمسی در asp.net را بیان نمودیم. حال میخواهیم تقویم شمسی را به گونه ای تنظیم کنیم که فقط رویدادهایی در تاریخ های خاص قابل انتخاب باشند.
    ابتدا می بایست تاریخ رویداد های مورد نظر را در یک لیست داشته باشیم. سپس لیست رویداد ها را به تقویم شمسی متصل نماییم.



    • به فراخوانی وب متد قبل از متد GetAllEventDates توجه کنید.


    اتصال لیست رویداد ها به تقویم شمسی با استفاده از json به صورت زیر انجام می شود:




    حال به وب سایت بازگشته و پس از بارگذاری مجدد صفحه و باز کردن تقویم، مشاهده می کنیم که فقط تاریخ هایی که در لیست رویداد ها موجود بودند قابل انتخاب می باشند.



    شما می توانید پروژه ساده انتخاب تاریخ شمسی در asp.net و تنظیم تقویم بر روی تاریخ رویدادهای خاص را از لینک زیر دانلود نمایید:
    پروژه انتخاب تاریخ شمسی و نمایش رویداد های خاص

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •