เรื่องง่ายๆบางครั้งก็เป็นเรื่องยาก และทำให้เราเสียเวลาไปมาก
งานก็คือใช้ DataGridView แสดงข้อมูลจาก select query ธรรมดาๆ ที่ดึงมาจาก DB เเล้วเพิ่ม checkbox เเต่ละเเถวให้ user เลือกได้ว่า จะเอาคนไหนบ้างเพื่อออก report ได้ตามใจ
ปัญหาก็คือ checkbox ที่ว่า กดเท่าไหร่มันก็ไม่ติ๊กเลือกสักที ผมทำหลายๆวิธี จนเจอเลยเอามาฝากเพื่อนๆ อีกอย่างถ้าจะเพิ่ม column ใน DataGridView โดยกดที่ Edit Columns เเล้วเพิ่ม column เเละเมื่อเลือกที่ Column Type หากมันมี DataGridViewButtonColumn, DataGridViewTextBoxColumn และชนิดอื่นๆ เบิ้ลอย่างละ 2 อันละก็มีปัญหาแน่ๆ เพราะจริงๆมันไม่ควรจะเเสดง เบิ้ลอย่างละ 2 อัน
โค้ด: เลือกทั้งหมด
Private Sub dtgvReport_CellClick(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles dtgvReport.CellClick
If e.RowIndex > -1 Then
If (e.ColumnIndex = 0) Then
'Click at CheckBox
Dim checkCell As DataGridViewCheckBoxCell = CType(dtgvReport.Rows(e.RowIndex).Cells("dtgvvcIsSelect"), DataGridViewCheckBoxCell)
Dim bol As Boolean = CType(checkCell.Value, [Boolean])
checkCell.Value = Not bol
End If
End If
End Sub