添加一个
else
在你的
if
条款以清除
txtDTE
如果日期列为空。
Private Sub DataGridView1_CellDoubleClick(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellDoubleClick
x = DataGridView1.Rows.IndexOf(DataGridView1.CurrentRow)
txtCODE.Text = DataGridView1.Rows(x).Cells(0).Value.ToString()
Dim dte = DataGridView1.Rows(x).Cells(1).Value.ToString()
If dte <> Nothing Then
txtDTE.Text = CDate(dte)
else
' CLEAR txtDTE if dt = nothing
txtDTE.clear()
End If
txtQTY.Text = DataGridView1.Rows(x).Cells(2).Value.ToString()
txtPRICE.Text = DataGridView1.Rows(x).Cells(3).Value.ToString()
End Sub
另一个建议
:
你可以用
e.RowIndex
而不是
DataGridView1.Rows.IndexOf(DataGridView1.CurrentRow)
它还返回当前行索引。
例子:
x = e.RowIndex()
而不是
x = DataGridView1.Rows.IndexOf(DataGridView1.CurrentRow)