Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,037

HOME > .NET Framework > Forum > มีปัญหา เกี่ยวกับ Date Format ใน Datagrid ในส่วนของ asp:TemplateColumn ค่ะ



 

มีปัญหา เกี่ยวกับ Date Format ใน Datagrid ในส่วนของ asp:TemplateColumn ค่ะ

 



Topic : 083590

Guest




หนู ทำโปรเจ็คจบของมหาวิทยาลัยอยู่ค่ะ

แล้วหนูก็รู้สึกว่ามีปัญหาเกี่ยวกับ การแสดงวันที่ ในส่วนของ Data Grid ค่ะ

คือ หนูคิดว่า จะให้ Textbox นั้นแสดงค่า วันที่ เอาไว้ แล้วเวลาเก็บค่าก็เก็บ ค่าวันที่ใน Textbox เลย (คือ จะ label หรือ Textboxก็คงไม่ต่าง)

หลังจาก .. ที่ ได้ ลง datagrid แล้ว หนูก็ทำ ให้อยู่ในส่วนของ
Code (VB.NET)
<asp:TemplateColumn HeaderStyle-CssClass="Headerstyle" HeaderText="LastUpdateStatus">
         <FooterTemplate> 
                  <asp:TextBox id="txtAddLastUpdateStatus" runat="server" CssClass="txtbox1" Text='<%# Convert.ToDateTime(DataBinder.Eval(Container.DataItem,"LastUpdateStatus")).ToShortDateString()  %>'>   
                  </asp:TextBox>
         </FooterTemplate>
</asp:TemplateColumn>


อันนี้ เป็นส่วนของ .. Item ใน Datagrid จะ เห็นว่า txtLastUpdateStatus คือ Textbox ที่รับค่า วันที่ ค่ะ

Code (VB.NET)
Protected Sub OrderStatusDatagrid_ItemCommand(ByVal source As Object, ByVal e As DataGridCommandEventArgs) Handles OrderStatusDatagrid.ItemCommand

        If e.CommandName = "Add" Then

            '*** OrderStatusID ***'
            Dim txtOrderStatusID As TextBox = CType(e.Item.FindControl("txtAddOrderStatusID"), TextBox)
            '*** OrderStatusName ***'
            Dim txtOrderStatusName As TextBox = CType(e.Item.FindControl("txtAddOrderStatusName"), TextBox)
            '*** LastUpdateStatus ***'
            Dim txtLastUpdateStatus As TextBox = CType(e.Item.FindControl("txtAddLastUpdateStatus"), TextBox)



            strSQL = "INSERT INTO OrderStatus (OrderStatusID,OrderStatusName,LastUpdateStatus) " & _
            " VALUES ('" & txtOrderStatusID.Text & "','" & txtOrderStatusName.Text & "','" & txtLastUpdateStatus.Text & "') "


            cmd = New SqlCommand(strSQL, con)
            cmd.ExecuteNonQuery()

            BindData()
        End If
    End Sub



พอ แสดงออกมา .. วันที่ มันกลายเป็นแบบนี้ : 1/1/0544 มีวิธีแก้ไขไหมค่ะ



Tag : .NET, Ms SQL Server 2008, Web (ASP.NET), VB.NET, VS 2010 (.NET 4.x)







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2012-09-07 02:12:32 By : คุณหนูมือใหม่ค่ะ View : 3231 Reply : 8
 

 

No. 1



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Twitter Facebook

ลองดูพวก Culture ครับ

Code (VB.NET)
Thread.CurrentThread.CurrentCulture = New CultureInfo("en-US")







แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-09-08 07:27:50 By : mr.win
 


 

No. 2

Guest


ตอนนี้ แสดงออกแล้วค่ะ ขอบคุณค่ะ ..

หนู ใช้ คำสั่งนี้ ไว้ที่ Page_load

Code (VB.NET)
Me.txtLastUpdateStatus.Text = Convert.ToDateTime(DateTime.Now, CultureInfo.CurrentCulture).ToString("d")


ส่วน ใน ส่วนของ aspx ใช้คำสั่งนี้ เป็นตัวแสดงค่ะ



Code (VB.NET)
<asp:Label id="lblLastUpdateStatus" CssClass="labelgrid" runat="server" Text='<%# Convert.ToDateTime(DataBinder.Eval(Container.DataItem,"LastUpdateStatus")).ToShortDateString() %>'></asp:Label>


Code (VB.NET)
    Protected Sub OrderStatusDatagrid_UpdateCommand(ByVal source As Object, ByVal e As DataGridCommandEventArgs) Handles OrderStatusDatagrid.UpdateCommand
        '*** OrderStatusID ***'
        Dim txtEditOrderStatusID As TextBox = CType(e.Item.FindControl("txtEditOrderStatusID"), TextBox)
        '*** OrderStatusName ***'
        Dim txtEditOrderStatusName As TextBox = CType(e.Item.FindControl("txtEditOrderStatusName"), TextBox)
        '*** LastUpdateStatus ***'
        Dim txtEditLastUpdateStatus As TextBox = CType(e.Item.FindControl("txtEditLastUpdateStatus"), TextBox)


        strSQL = "UPDATE OrderStatus SET OrderStatusID = '" & txtEditOrderStatusID.Text & "' " & _
        " ,OrderStatusName = '" & txtEditOrderStatusName.Text & "' " & _
        " ,LastUpdateStatus = '" & txtEditLastUpdateStatus.Text & "' " & _
        " WHERE OrderStatusID = '" & OrderStatusDatagrid.DataKeys.Item(e.Item.ItemIndex) & "'"
        cmd = New SqlCommand(strSQL, con)
        cmd.ExecuteNonQuery()
        OrderStatusDatagrid.EditItemIndex = -1
        frame1.Visible = True
        frame2.Visible = True
        BindData()
    End Sub



ทุกอย่างดูเหมือนจะเรียบร้อย แต่ มันก็มีปัญหา จนได้ค่ะ
คือหนู Insert / Delete / Update ได้ครบหมดทุกค่า

แต่ปัญหา มีอยู่ตรงที่ Update ค่ะ เวลากด Update ค่าของ เวลา มันจะผิดเพี้ยนไป ..

นี้ คือ หน้าตาในส่วนที่หนูทำอยู่ค่ะ

หน้าตา 01

อันนี้ ตอน Update ไม่มีปัญหาอะไร เพราะ Set ให้ แก้ไขได้เฉพาะ ค่าของ ชื่อ
กด Update

หลังจากที่ กด Update ค่าของเวลาก็ดูเหมือนจะเปลี่ยนไป
หลังจากนั้น
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-09-08 12:15:40 By : คุณหนูมือใหม่ค่ะ
 

 

No. 3



โพสกระทู้ ( 11 )
บทความ ( 0 )



สถานะออฟไลน์


ที่เพี้ยน คือ เป็นปี 3098 ใช่มั้ย

วิธีแก้ก็คือ ทำการ เปลี่ยน CurentCulture ก่อนบันทึกครับ


เพราะที่เป็น 3098 มันได้มาจาก 2555 + 543 ครับ ซึ่ง Object DateTime มันทำการ Convert ให้เองเพราะ มันมองว่าค่าที่เข้าไป

เป็นค่า ค.ศ. พอมันมาตรวจสอบกับ Current Culture พบว่าเป็น พ.ศ. มันเลยทำการ เอา ค.ศ. + 543


หรือมีอีกวิธีง่ายก็ใช้ Class ที่ชื่อ System.Globalization.ThaiBuddhistCalendar

http://msdn.microsoft.com/en-us/library/system.globalization.thaibuddhistcalendar(v=vs.95).aspx

ลองดูนะ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-09-08 21:43:28 By : mocking1
 


 

No. 4

Guest


ขอบคุณค่ะ - -'

ตอนนี้ มันมีเวลา จำกัด ก็เลย เปลี่ยน วันที่ในเครื่องเปน คศ. แทน ก็ได้อย่างที่ตั้งใจไว้
แต่ ปัญหาเล็กๆ น้อยก็ตามติดมาอีก ก็เป็น format ของ เดือน และวัน มันสลับกันอะค่ะ
แต่ตรงนี้ ค่อยกลับมาแก้ทีหลัง ..


ตอนนี้ มาถึง main หลักแล้ว นั้นก็คือ ข้อมูลของสินค้าค่ะ
การ เพิ่ม .. ไม่มีปัญหา เพราะเพิ่มจาก ในส่วนของ Textbox
แต่ถ้า จะแก้ไข จะทำยังไงดีค่ะ เพราะว่า ข้อมูลอื่นๆอย่าง
พวก ข้อมูลประเภทสินค้า / โปรโมชั่น / อะไรพวกนี้
หนูใช้ datagrid เวลา แก้ไข ก็แก้ไข จาก ตารางในdatagrid ได้เลย
เพราะว่า ข้อมูลมันน้อย .. ก็เลย สบายในส่วนนี้ แต่พอจะแก้ไขข้อมูลสินค้า

มันมีข้อมูลที่เก็บไว้ค่อนข้างเยอะ หนูควรจะทำยังไงดีค่ะ ??

ที่คิดไว้ ก็คือ .. กด Edit ในตารางที่โชว์ข้อมูลสินค้า แล้ว ข้อมูลสินค้าที่ต้องการแก้ไข

ก็จะไปอยู่ในส่วนของ Textbox ที่เราเอาไว้ เพิ่มข้อมูลแบบนี้ได้ไหม ..

ถ้าแบบนี้ ปุ่ม submit ก็ต้องตรวจสอบ สินะค่ะ ว่า ProductID มันซ้ำกับที่มีอยู่ในDB รึเปล่า
ถ้าซ้ำก็ เป็น update แทน .. แฮะๆ ที่พูดมาเป็นแค่จินตนาการ ยังนึก code ไม่ออก

ยังไงก็ช่วยแนะนำทีนะค่ะ ว่า ถ้าจะ แสดงข้อมูลสินค้า ควรจะใช้รูปแบบไหนดี ค่ะ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-09-08 22:53:35 By : คุณหนูมือใหม่ค่ะ
 


 

No. 5

Guest


แบบนั้นก็พอได้ครับ แต่ขอแนะนำแบบง่าย ๆ ก่อนดีกว่า ก็คือ ใน gridview ทำ column นึงเป็นลิงค์ โดยส่งค่าของ ProductID ไปที่หน้าแก้ไขอีกหน้าครับ พอลิงค์ไปแล้วก็ดึงข้อมูลตาม ProductID ที่ส่งมา มาแสดงข้อมูลเดิมใน textbox อะไรก็ว่าไป แล้วก็แก้ไข จากนั้นก็ทำการ update ตาม ProductID ไปเลยครับ ไม่ต้องเช็คอะไรมากเดี๋ยวจะสับสน ^ ^ , update เสร็จแล้วก็ redirect กลับมาหน้าเดิม
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-09-09 00:14:31 By : Nebula
 


 

No. 6

Guest


ตอบความคิดเห็นที่ : 5 เขียนโดย : Nebula เมื่อวันที่ 2012-09-09 00:14:31
รายละเอียดของการตอบ ::
... คือ ทุกอัน หนูจะทำเป็น datagrid อะค่ะ ประมาณนี้อ่ะค่ะ เปลี่ยนจาก gridview เป็น datagrid คงไม่มีปัญหามั่ง ค่ะ - -''
อ่า ...ใน ตรงนี้อ่ะค่ะ "โดยส่งค่าของ ProductID ไปที่หน้าแก้ไขอีกหน้าครับ พอลิงค์ไปแล้วก็ดึงข้อมูลตาม ProductID ที่ส่งมา
มาแสดงข้อมูลเดิมใน textbox อะไรก็ว่าไป "

มี Links ที่ สอนในส่วนนี้ไหมค่ะ ?? เดียวจะตามไปค้น อะค่ะ

หรือ มีตัวอย่างให้ศึกษาไหมค่ะ ??

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-09-09 10:40:11 By : คุณหนูมือใหม่ค่ะ
 


 

No. 7



โพสกระทู้ ( 121 )
บทความ ( 0 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์


ผมใช้

Code (VB.NET)
.ToString("s") 


ครับ


ประวัติการแก้ไข
2012-09-09 19:26:50
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-09-09 19:25:42 By : Downrung
 


 

No. 8



โพสกระทู้ ( 11 )
บทความ ( 0 )



สถานะออฟไลน์


เพิ่ม Column เป็น Template 1 ช่องนะครับ

เสร็จแล้ว Edit Tempate แล้วใส่ HyperLink หรือ Button เข้าไป เสร็จแล้วก็ทำการ Redirect ไปอีกหน้าก็ ok นะครับ


แต่ถ้าทำได้ลองศึกษา jQuery + การทำ AJAX ดูน่ะครับจะได้สร้างเป็น popup ขึ้นมาแล้วพอบันทึกก็อัพเดทลง DB เลย

ก็เป็นอีกวิธีลองเลือกใช้ดูนะครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-09-09 20:34:56 By : mocking1
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : มีปัญหา เกี่ยวกับ Date Format ใน Datagrid ในส่วนของ asp:TemplateColumn ค่ะ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 01
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่