Private Sub dgvCustomer_DataError(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewDataErrorEventArgs) Handles dgvCustomer.DataError
Dim strSubMsg As String = String.Empty
If e.Exception IsNot Nothing Then
strSubMsg = e.Exception.Message
End If
If strSubMsg.Contains("does not allow nulls") OrElse strSubMsg.Contains("to be unique") Then 'รหัสซ้ำ Or null
MessageBox.Show("รหัสที่ป้อนมีอยู่แล้วหรือไม่ระบุค่า (null) กรุณาป้อนให้ถูกต้อง" & Constants.vbCrLf & Constants.vbCrLf & strSubMsg, "Warning", MessageBoxButtons.OK, MessageBoxIcon.Error)
ElseIf strSubMsg.Contains("not in a correct format") Then
MessageBox.Show("ป้อนข้อมูลไม่ถูกต้อง เช่น จำนวนเงิน แต่ป้อนเป็นตัวอักษร 'หอย' เป็นต้น โอมเพี้ยงป้อนให้ถูกต้อง" & Constants.vbCrLf & Constants.vbCrLf & strSubMsg, "Warning", MessageBoxButtons.OK, MessageBoxIcon.Error)
Else
'TODO:
End If
Try
e.Cancel = False
If dgvCustomer.DataSource IsNot Nothing AndAlso dgvCustomer.DataSource.GetType.Name = "BindingSource" Then
Dim ctrSubBindingSource As BindingSource = dgvCustomer.DataSource
ctrSubBindingSource.ResumeBinding()
End If
dgvCustomer.CancelEdit()
Catch ex As Exception
MessageBox.Show(ex.Message, "Warning", MessageBoxButtons.OK)
End Try
End Sub
Private Sub yourGrid_DataError(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewDataErrorEventArgs) Handles yourGrid.DataError
Dim strSubMsg As String = String.Empty
If e.Exception IsNot Nothing Then
strSubMsg = e.Exception.Message
End If
If strSubMsg.Contains("DataGridViewComboBoxCell value is not valid.") Then
e.ThrowException = False
End If
End Sub
ปัญหาคือ ALS_F_601.RmID มันไม่มีอยู่ในตาราง XXX.RmID (มัน Bound เข้ากับ ComboBox)
เช่น
A 01 B 02 /*ไม่มีอยู่ในตาราง XXX*/
Private Sub yourGrid_DataError(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewDataErrorEventArgs) Handles yourGrid.DataError
/*โดยที่ไม่ต้องเขียนโค๊ดดักแม้แต่บรรทัดเดียว*/
End Sub