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 > เพิ่ม combobox เข้าไปใน datagrid แล้ว มันบันทึกข้อมูลแต่แถวแรก



 

เพิ่ม combobox เข้าไปใน datagrid แล้ว มันบันทึกข้อมูลแต่แถวแรก

 



Topic : 053212



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

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

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



ไม่ว่าผมจะพิมเข้าไปกี่แรกคอร์ดมันจะบันทึกข้อมุลเหมือนกับแถวแรกที่กรอกทุกเรคคอร์ด
ตอนที่ผมให้พิมพ์ปกติมันได้ แต่เพื่ออำนวยความสะดวกการใช้งานเลยทำให้เลือกได้ เลยมีปัยหาดังกล่าวครับ

อ่านแล้วบันทึก
Code (VB.NET)
 For i = 0 To drugdetailDGV.Rows.Count - 1

            col1 = drugdetailDGV.Rows.Item(i).Cells(0).Value
            col2 = drugdetailDGV.Rows.Item(i).Cells(1).Value
            If col1 <> "" Then
                ' MsgBox(col1)

                comdetail.CommandText = "insert into  drug_detail (de_name,de_result,d_id)values('" & drugdetailDGV.CurrentRow.Cells(0).Value & "','" & drugdetailDGV.CurrentRow.Cells(1).Value & "' ,'" & d_id & "')"
                comdetail.Connection = MyConnect

                comdetail.ExecuteNonQuery()

            End If


        Next


รูปตอนเพิ่มข้อมูล
combobox



Tag : .NET, Win (Windows App), VS 2008 (.NET 3.x)







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2010-12-15 20:10:06 By : narubet View : 3421 Reply : 11
 

 

No. 1

Guest


debug i ดูสิครับว่า
รอบที่ 1 i = 0
รอบที่ 2 i = 1 รึเปล่า

อ้ออีกอย่าง
For i = 0 To drugdetailDGV.Rows.Count ครับ







แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-12-15 21:47:20 By : สวดยวด
 


 

No. 2



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

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

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

ดู no 1 ครับ หากใช้ loop เราควร debug ดูได้
ปัญหาอาจง่ายกว่าที่คุณคิด
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-12-15 21:56:54 By : pjgunner.com
 

 

No. 3



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



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


เปลี่ยน drugdetailDGV.CurrentRows เป็น drugdetailDGV.Rows(i)
แต่คราวหลัง ลองศึกษาเรี่อง DataAdapter ดูนะครับ
เพราะปกติเค้าใช้ตัวนี้ในการ Update ข้อมูล

Code (VB.NET)
comdetail.Connection = MyConnect  ' เอาบรรทัดนี้ไว้นอกลูป ดีกว่า
For i = 0 To drugdetailDGV.Rows.Count - 1
if Not drugdetailDGV.Rows(i).IsNewRow Then
           col1 = drugdetailDGV.Rows(i).Cells(0).Value
           If col1 <> "" Then
               comdetail.CommandText = "insert into  drug_detail (de_name,de_result,d_id) values('" & drugdetailDGV.Rows(i).Cells(0).Value & "','" & drugdetailDGV.Rows(i).Cells(1).Value & "' ,'" & d_id & "')"
               comdetail.ExecuteNonQuery()

           End If
End If

       Next



ประวัติการแก้ไข
2010-12-16 08:20:22
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-12-16 08:17:35 By : หางอึ่ง
 


 

No. 4



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



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





ประวัติการแก้ไข
2010-12-16 08:41:45
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-12-16 08:40:59 By : noizeless
 


 

No. 5



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

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

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

ขอบคุณทุกท่านมากครับ
รบกวนถามต่ออีกนิดครับ ตรงส่วนของการแก้ไขข้อมูล datagrid นะครับผมจะีใช้ event ที่พอแก้แล้วมันจะ save เลย
edit
ดังโค้ดด้านล่างครับ
Code (VB.NET)
Private Sub drugdetailDGV_CellValueChanged(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles drugdetailDGV.CellValueChanged
        UseConnectDatabase()
        Dim com As New MySqlCommand
        Dim adap As New MySqlDataAdapter
        Dim ds As New DataSet
        If (TabControl1.SelectedIndex = 0) Then
            'MsgBox(e.RowIndex)
            com.CommandText = "update drug_detail set de_name='" & drugdetailDGV.CurrentRow.Cells(1).Value & "',de_result='" & drugdetailDGV.CurrentRow.Cells(2).Value & "' where de_id='" & drugdetailDGV.CurrentRow.Cells(0).Value & "'"
            com.Connection = MyConnect
            'MsgBox(e.GetHashCode())
            com.ExecuteNonQuery()
            
        End If
    End Sub


ที่ผมจะทำต่อคือ คอลัมผลการตรวจผมอยากให้แสดงผลตามที่บันทึกไว้ในฐานข้อมูล
แต่แสดงใน combobox แล้วเลือกได้เหมือนตอนเพิ่มเช่นกัน

ถ้าแสดงเป็น text ดังรูปรูปด้านบนได้ครับ
Code (VB.NET)
column = New DataGridViewTextBoxColumn()
            column.DataPropertyName = "de_result"
            column.HeaderText = "ผลการตรวจ"
            column.Width = 100
            Me.drugdetailDGV.Columns.Add(column)


ผมลองทำแบบเหมือนตอนเพิ่มมันไม่ผ่านครับ
เพราะอยากให้มันแสดงผลเป็น combobox
Code (VB.NET)
 column = New DataGridViewComboBoxColumn
            column.DataPropertyName = "de_result"
            column.HeaderText = "ผลการตรวจ"
            column.Items.Add("พบ")
            column.Items.Add("ไม่พบ")
            column.Width = 100
            Me.drugdetailDGV.Columns.Add(column)




ประวัติการแก้ไข
2010-12-16 14:27:02
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-12-16 14:23:41 By : narubet
 


 

No. 6

Guest


เอา datagridview มาใช้เก็บ data แล้วเรียกใช้ด้วยเหรอ หุหุ

แถวบ้านใช้ datatable นะ เจ้า datagridview ใช้แค่แสดงผลเฉยๆ (บอกเป็นครั้งที่ 100)

ส่วนจะ edit datagridview ก็ใช้ event cellenter กับ cellleave
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-12-16 14:39:09 By : ตังค์แมน
 


 

No. 7



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



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


ออถามไรหน่อยครับ เจ้าของกระทู้ ใส่Combo เข้าไปไงหรอครับ อยากรู้ว่าใช้วิธีไร เพราะที่ผมใช้ มันดูยุ่งยากไงไม่รู้ครับ ช่วยแนะนำทีครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-12-16 17:05:21 By : exclusiveM
 


 

No. 8



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



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


เข้าของ ม่ะมาตอบผมหน่อยหรอครับ - -
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-12-17 08:44:00 By : exclusiveM
 


 

No. 9



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

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

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

การเพิ่ม combobox เข้าไปในด้าตา้กริดครับ
Code (VB.NET)
column = New DataGridViewComboBoxColumn
         
           column.HeaderText = "ผลการตรวจ"
           column.Items.Add("พบ")
           column.Items.Add("ไม่พบ")
           column.Width = 100
           Me.drugdetailDGV.Columns.Add(column)


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-12-17 15:03:22 By : narubet
 


 

No. 10



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

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

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

ตอบความคิดเห็นที่ : 6 เขียนโดย : ตังค์แมน เมื่อวันที่ 2010-12-16 14:39:09
รายละเอียดของการตอบ ::
ผมก็ใช้ datagird แสดงข้อมูลตามที่คุณว่านะ แต่รูปแบบที่มันไม่ตรงเท่านั้นเองครับ
ส่วนการแก้ไขข้อมูลผมก็ใช้ event_onchangevalue
ที่ว่าใช้ไม่ถูกนะตรงไหน

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-12-17 15:08:58 By : narubet
 


 

No. 11

Guest


ว้า ก็แนะนำเฉยๆ เอง

มันก็ไม่ผิดหรอก แต่ว่ามันยุ่งยาก ควรทำงานโดยใช้ datatable เป็นตัวกลาง

จะง่ายกว่าเรีบกจาก datagridview โดยตรง แล้วก็ยังคงรูปของ type ข้อมูลเดิมไว้อยู่เหมือนเดิมด้วย

แต่ก็อยากทำอะไรก็ทำแล้วกันนะ แล้วแต่สะดวก
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-12-20 11:23:01 By : ตังค์แมน
 

   

ค้นหาข้อมูล


   
 

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