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,028

HOME > .NET Framework > Forum > รบกวนอีกครั้งค่ะ เลือกข้อมูลใน DatagridView แล้วข้อมูลไม่ตรงกับ Row ที่เลือกค่ะ



 

รบกวนอีกครั้งค่ะ เลือกข้อมูลใน DatagridView แล้วข้อมูลไม่ตรงกับ Row ที่เลือกค่ะ

 



Topic : 037781



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



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




สวัสดีค่ะ ขอรบกวนด้วยนะคะ

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

ได้ลองเปลี่ยนเป็น Event อื่น ๆ แล้วก็ยังเป็นเหมือนเดิมค่ะ และมักจะเกิดปัญหาเมื่อเลือก Row แรก และ Row สุดท้าย


อันนี้กำลังเลือก Row ที่ต้องการ

Choose

ผลลัพธ์ที่แสดง

result


ตามรูปใช้ Event CellMouseDoubleClick นะคะ

ใน DataGridView อีกอันก็เป็นเหมือนกันค่ะ

รบกวนชี้แนะด้วยนะคะ ขอบคุณมาก ๆ ค่ะ



Tag : - - - -







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2010-01-26 22:25:16 By : Kwang196 View : 3241 Reply : 7
 

 

No. 1



โพสกระทู้ ( 3,144 )
บทความ ( 1 )

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

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


ใน Event CellMouseDoubleClick ใช้ e.RowIndex เลือก row ที่ dbl click หรือเปล่าครับ






Date : 2010-01-27 08:56:46 By : tungman
 


 

No. 2



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



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


สวัสดีค่ะ คุณ Tungman

ใช่ค่ะ คุณ Tungman กวางใช้ e.RowIndex ค่ะ

Code (VB.NET)
Private Sub DataGrid_Service_CellMouseDoubleClick(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellMouseEventArgs) Handles DataGrid_Service.CellMouseDoubleClick

        Grid_Treated_Data.ImportRow(Grid_Service_Data.Rows(e.RowIndex)) ' import ข้อมูลไปยัง datagird ของ TReated
        Grid_Treated_Data.DefaultView.Sort = "ServID" 'จัดเรียงข้อมูลตาม ID
        DataGrid_Treated.DataSource = Grid_Treated_Data
        Set_GridTreated()
        Grid_Service_Data.Rows(e.RowIndex).Delete() ' ลบ row ที่เลือกไป
        Grid_Service_Data.AcceptChanges()
        DataGrid_Service.DataSource = Grid_Service_Data 'bind ข้อมูล
        Set_GridSV()

        '-------------------------------------
        'คำนวณค่าบริการ()
        Dim total As Integer
        For i As Integer = 0 To DataGrid_Treated.Rows.Count - 1
            total = total + (CDbl(DataGrid_Treated.Rows(i).Cells(2).Value.ToString * 1))
        Next
        SerAmount.Text = total.ToString


แล้วก็อีก Grid นึง เหมือนกันค่ะ

Code (VB.NET)
    Private Sub DataGrid_Treated_CellMouseDoubleClick(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellMouseEventArgs) Handles DataGrid_Treated.CellMouseDoubleClick

        Grid_Service_Data.ImportRow(Grid_Treated_Data.Rows(e.RowIndex))
        Grid_Service_Data.DefaultView.Sort = "ServID"
        DataGrid_Service.DataSource = Grid_Service_Data
        ' DataGrid_Service.RowsDefaultCellStyle.WrapMode = True
        Set_GridSV()
        Grid_Treated_Data.Rows(e.RowIndex).Delete()
        Grid_Treated_Data.AcceptChanges()
        DataGrid_Treated.DataSource = Grid_Treated_Data
        '  DataGrid_Treated.RowsDefaultCellStyle.WrapMode = True
        Set_GridTreated()

    End Sub ' เมื่อลบข้อมูลใน Grid การรักษา


รบกวนชี้แนะด้วยนะคะ ^^ พยายามเปลี่ยนหลาย event ผลออกมาเหมือน ๆ กันเลยอะคะ
Date : 2010-01-27 09:23:21 By : Kwang196
 

 

No. 3



โพสกระทู้ ( 3,144 )
บทความ ( 1 )

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

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


ลองเอา sort ออกดูก่อนไหมครับ

Code (VB.NET)
Grid_Treated_Data.DefaultView.Sort = "ServID" '<-- ลองเอาออกดูก่อน


Grid_Service_Data.DefaultView.Sort = "ServID" '<-- ลองเอาออกดูก่อน

Date : 2010-01-27 09:36:49 By : tungman
 


 

No. 4



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



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


ขอบคุณมาก ๆ ค่า ปัญหาคลีคลายแล้ว คุณ Tungman ขอบคุณมาก ๆ นะคะ โค้ดแค่บรรทัดเดียวนี่ ทำเอาเครียดเลย แต่ยังไง กวางขอถามเพิ่มเติมอีกนะคะ ไม่อยากตั้งกระทู้ถามใหม่

เกี่ยวกับการ add textbox control ใน Datagridview ค่ะ คือตอนนี้แอดลงไปเรียบร้อยแล้ว ตามความเข้าใจของกวางเอง ตอนนี้ทำงานได้แต่เมื่อใส่จำนวนทุกครั้งต้องกด Enter แล้วโปรแกรมถึงจะคำนวณ ขอความกรุณาตรวจสอบให้หน่อยนะคะ ว่าถูกต้องมากน้อยแค่ไหน

อันนี้เป็นโค้ดส่วนของ การแสดงข้อมู]ของ Grid 2 นะคะ (การทำงานจะเหมือนกับ Grid ด้านบนเลยค่ะ เลือกจาก Grid 1 มายัง Grid 2)

Code (VB.NET)
 Private Sub DataGrid_Prescription_CellContentClick(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGrid_Prescription.CellContentClick
        Grid_Ms_Data.ImportRow(Grid_Presciption_Data.Rows(e.RowIndex))
        ' Grid_Ms_Data.DefaultView.Sort = "MsID"
        DataGrid_Ms.DataSource = Grid_Ms_Data
        ' DataGrid_Service.RowsDefaultCellStyle.WrapMode = True
        Set_GridMs()
        Grid_Presciption_Data.Rows(e.RowIndex).Delete()
        Grid_Presciption_Data.AcceptChanges()
        DataGrid_Prescription.DataSource = Grid_Presciption_Data
        '  DataGrid_Treated.RowsDefaultCellStyle.WrapMode = True
        Set_GridPrescription()
    End Sub


อันนี้เป็นการจัด Column ที่กวางจัดตามความเข้าใจอะคะ อยากให้ตรวจสอบว่า ถูกต้องหรือเปล่า

Code (VB.NET)
 Sub Set_GridPrescription()
        Dim cs As New DataGridViewCellStyle()
        cs.Font = New Font("Browallia New", 14)
        With DataGrid_Prescription
            .ColumnHeadersDefaultCellStyle = cs
            .Columns(0).HeaderText = "จำนวน" <------ เป็นการใส่จำนวน
            .Columns(0).HasDefaultCellStyle.GetType()
            .Columns(0).Width = 56%
            .Columns(0).Visible = True

            ' .Columns("MsID").DisplayIndex = 0 <------ อ้างถึง MsID ไม่ได้เพราะแทนด้วย จำนวนไปแล้ว 
            .Columns(1).HeaderText = "รหัส"
            .Columns(1).Width = 56%
            .Columns(1).Visible = False

            .Columns("MsName").DisplayIndex = 1
            .Columns(2).HeaderText = "ชื่อ"
            .Columns(2).Width = 205%
            .Columns(2).Visible = True

            .Columns("SellPrice").DisplayIndex = 2
            .Columns(3).HeaderText = "ราคา(บาท)"
            .Columns(3).Width = 100%
            .Columns(3).Visible = True

            .Columns("UName").DisplayIndex = 3
            .Columns(4).HeaderText = "หน่วย"
            .Columns(4).Width = 60%
            .Columns(4).Visible = True

        End With



อันนี้เป็นส่วนของการคำนวณ

Code (VB.NET)
 Private Sub Cal_Ms() 'คำนวณค่ายา

        Dim total As Integer
        For i As Integer = 0 To DataGrid_Prescription.RowCount - 1
            If (DataGrid_Prescription.Rows(i).Cells(0).Value) = "" Then
                MessageBox.Show("กรุณาใส่จำนวนที่ต้องจ่ายให้แก่ลูกค้าด้วยค่ะ !!")
                Exit Sub
            End If
            If (DataGrid_Prescription.Rows(i).Cells(0).Value) <> "" Then
                If Not IsNumeric(DataGrid_Prescription.Rows(i).Cells(0).Value) Then
                    MessageBox.Show("กรุณากรอกจำนวนตัวเลขด้วยครับ", "Error", MessageBoxButtons.OK, MessageBoxIcon.Information)
                    Exit Sub
                End If
            End If
            total = total + (CDbl(DataGrid_Prescription.Rows(i).Cells(0).Value.ToString * DataGrid_Prescription.Rows(i).Cells(3).Value.ToString))
        Next
        MsAmount.Text = total.ToString

    End Sub 'คำนวณค่ายา



อันนี้เป็น Event เมื่อใส่ค่าจำนวนใน Grid2

Code (VB.NET)
 Private Sub DataGrid_Prescription_CellEndEdit(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGrid_Prescription.CellEndEdit
        Cal_Ms()
    End Sub ' กรอกจำนวนที่จ่าย แล้วทำการคำนวณค่ายา



รบกวนอีกครั้งด้วยนะคะ จริง ๆ มีเรื่อง ComboBox อีก แต่ขอสอบถามทีละเรื่องดีกว่า
ขอบคุณมาก ๆ ค่า
Date : 2010-01-27 10:00:57 By : Kwang196
 


 

No. 5



โพสกระทู้ ( 3,144 )
บทความ ( 1 )

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

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


คุณวินจะหาว่าผมปั่น reply ไหมเนี่ย 3 วันเกือบ 100 reply

Quote:
เกี่ยวกับการ add textbox control ใน Datagridview ค่ะ คือตอนนี้แอดลงไปเรียบร้อยแล้ว ตามความเข้าใจของกวางเอง ตอนนี้ทำงานได้แต่เมื่อใส่จำนวนทุกครั้งต้องกด Enter แล้วโปรแกรมถึงจะคำนวณ ขอความกรุณาตรวจสอบให้หน่อยนะคะ ว่าถูกต้องมากน้อยแค่ไหน

- ถ้ามันไม่ error ก็ไม่เป็นไรหรอกครับ

ส่วนอันอื่นลองไปดูวิธีการ add column ชนิดต่างๆ ให้ datagridview ที่ msdn ดูก่อนดีไหม

http://msdn.microsoft.com/en-us/library/bxt3k60s.aspx

เอาไว้ว่างๆ และขยันก่อนนะจะดูโค้ดให้ ตอนขี้เกียจดู
Date : 2010-01-27 10:40:22 By : tungman
 


 

No. 6



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



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


ขอบคุณมาก ๆ ค่ะ คุณ tungman

ยังไงก็รบกวนด้วยนะคะ
Date : 2010-01-28 03:38:06 By : Kwang196
 


   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : รบกวนอีกครั้งค่ะ เลือกข้อมูลใน DatagridView แล้วข้อมูลไม่ตรงกับ Row ที่เลือกค่ะ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ 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 05
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 อัตราราคา คลิกที่นี่