2
我甚至使用cellformatting來使用綁定的datagridview的Employee ID列在另一個數據表中查找「Employee ID」,並在Unbound「Name」列上返回Employee名稱。如何決定cellformatting事件何時開始?
Private Sub PartePersonalDataGridView_CellFormatting(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellFormattingEventArgs) Handles DataGridView1.CellFormatting
If DataGridView1.RowCount > 0 AndAlso e.RowIndex > -1 Then
Dim dgvr As DataGridViewRow = DataGridView1.Rows(e.RowIndex)
Dim empID As Integer = CInt(dgvr.Cells(0).Value)
Dim qry = From dr As PersonalObraDataSet.PersonalObRow In _PersonalObraDataSet.PersonalOb _
Where dr.cdTrabajador = empID
If qry.Count > 0 Then
DataGridView1.Rows(e.RowIndex).Cells(1).Value = qry.First.Nombre1
'DataGridView1.Rows(e.RowIndex).Cells(5).Value = qry.First.Nombre2
End If
End If
End Sub
一切負載罰款和每個ID所需的名稱被加載很好,但是當加入新行中,cellformatting事件觸發之前有機會在新員工ID輸入,給人的DBNull錯誤,因爲它正在查看的單元格是空的。
我查找了一段時間,我找不到方法來告訴cellformatting單元格編輯完成後或單元格離開後觸發,或者如果字段Employee ID爲空,則不格式化單元格。
真棒!這是完美的,我一直在尋找這最後2天。謝謝 – David
@大衛很高興我可以幫助:-) – Chris