這裏我在執行NetValueValidation()時得到下面的方括號錯誤(運算符' - '沒有爲'Double'類型定義,並鍵入'DBNull'。)。但其在 「discper」 欄工作執行DiscPerValidation後()運算符' - '未針對類型'Double'進行定義並鍵入'DBNull'。 [vb.net datagridview]
Private Sub grdPurchase_CellEndEdit(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles grdPurchase.CellEndEdit
CellEdited = True
CurrentColumn = e.ColumnIndex
CurrentRow = e.RowIndex
If Me.grdPurchase.Columns(Me.grdPurchase.CurrentCell.ColumnIndex).Name = "itemcode" Then
If Not Me.grdPurchase.Rows(e.RowIndex).Cells("itemcode").Value Is DBNull.Value Then
SeekItemDetails()
End If
Else
If Me.grdPurchase.Columns(Me.grdPurchase.CurrentCell.ColumnIndex).Name = "packingratio" Then
PackingRatioValidation()
ElseIf Me.grdPurchase.Columns(Me.grdPurchase.CurrentCell.ColumnIndex).Name = "price" Then
PriceValidation()
NetValueValidation()
ElseIf Me.grdPurchase.Columns(Me.grdPurchase.CurrentCell.ColumnIndex).Name = "grossamt" Then
GrossAmtValidation()
'NetValueValidation()
ElseIf Me.grdPurchase.Columns(Me.grdPurchase.CurrentCell.ColumnIndex).Name = "kgs" Then
KGSValid()
'NetValueValidation()
ElseIf Me.grdPurchase.Columns(Me.grdPurchase.CurrentCell.ColumnIndex).Name = "discper" Then
DiscPerValidation()
'NetValueValidation()
End If
SendKeys.Send("{UP}" + "{TAB}")
End If
End Sub
Private Sub PackingRatioValidation()
If Not Me.grdPurchase.Rows(Me.grdPurchase.CurrentCell.RowIndex).Cells("packingratio").Value Is DBNull.Value And _
Not Me.grdPurchase.Rows(Me.grdPurchase.CurrentCell.RowIndex).Cells("packingratio_temp").Value Is DBNull.Value And _
Not Me.grdPurchase.Rows(Me.grdPurchase.CurrentCell.RowIndex).Cells("itemcode").Value Is DBNull.Value Then
Me.grdPurchase.Rows(Me.grdPurchase.CurrentCell.RowIndex).Cells("qty").Value = _
Me.grdPurchase.Rows(Me.grdPurchase.CurrentCell.RowIndex).Cells("packingratio").Value * _
Me.grdPurchase.Rows(Me.grdPurchase.CurrentCell.RowIndex).Cells("packingratio_temp").Value
End If
End Sub
Private Sub PriceValidation()
If Not Me.grdPurchase.Rows(Me.grdPurchase.CurrentCell.RowIndex).Cells("itemcode").Value Is DBNull.Value And _
Not Me.grdPurchase.Rows(Me.grdPurchase.CurrentCell.RowIndex).Cells("qty").Value Is DBNull.Value And _
Not Me.grdPurchase.Rows(Me.grdPurchase.CurrentCell.RowIndex).Cells("price").Value Is DBNull.Value Then
Me.grdPurchase.Rows(Me.grdPurchase.CurrentCell.RowIndex).Cells("grossamt").Value = Me.grdPurchase.Rows(Me.grdPurchase.CurrentCell.RowIndex).Cells("price").Value * _
Me.grdPurchase.Rows(Me.grdPurchase.CurrentCell.RowIndex).Cells("qty").Value
End If
End Sub
Private Sub GrossAmtValidation()
If Not Me.grdPurchase.Rows(Me.grdPurchase.CurrentCell.RowIndex).Cells("itemcode").Value Is DBNull.Value And _
Not Me.grdPurchase.Rows(Me.grdPurchase.CurrentCell.RowIndex).Cells("qty").Value Is DBNull.Value And _
Not Me.grdPurchase.Rows(Me.grdPurchase.CurrentCell.RowIndex).Cells("grossamt").Value Is DBNull.Value Then
Me.grdPurchase.Rows(Me.grdPurchase.CurrentCell.RowIndex).Cells("price").Value = Me.grdPurchase.Rows(Me.grdPurchase.CurrentCell.RowIndex).Cells("grossamt").Value/_
Me.grdPurchase.Rows(Me.grdPurchase.CurrentCell.RowIndex).Cells("qty").Value
End If
End Sub
Private Sub KGSValid()
If Not Me.grdPurchase.Rows(Me.grdPurchase.CurrentCell.RowIndex).Cells("itemcode").Value Is DBNull.Value And _
Not Me.grdPurchase.Rows(Me.grdPurchase.CurrentCell.RowIndex).Cells("qty").Value Is DBNull.Value And _
Not Me.grdPurchase.Rows(Me.grdPurchase.CurrentCell.RowIndex).Cells("price").Value Is DBNull.Value And _
Not Me.grdPurchase.Rows(Me.grdPurchase.CurrentCell.RowIndex).Cells("grossamt").Value Is DBNull.Value Then
Me.grdPurchase.Rows(Me.grdPurchase.CurrentCell.RowIndex).Cells("kgrate").Value = Me.grdPurchase.Rows(Me.grdPurchase.CurrentCell.RowIndex).Cells("grossamt").Value/_
Me.grdPurchase.Rows(Me.grdPurchase.CurrentCell.RowIndex).Cells("kgs").Value
End If
End Sub
Private Sub DiscPerValidation()
If Not Me.grdPurchase.Rows(Me.grdPurchase.CurrentCell.RowIndex).Cells("itemcode").Value Is DBNull.Value And _
Not Me.grdPurchase.Rows(Me.grdPurchase.CurrentCell.RowIndex).Cells("grossamt").Value Is DBNull.Value And _
Not Me.grdPurchase.Rows(Me.grdPurchase.CurrentCell.RowIndex).Cells("discper").Value Is DBNull.Value Then
Me.grdPurchase.Rows(Me.grdPurchase.CurrentCell.RowIndex).Cells("discamt").Value = _
(Me.grdPurchase.Rows(Me.grdPurchase.CurrentCell.RowIndex).Cells("grossamt").Value/100) * _
Me.grdPurchase.Rows(Me.grdPurchase.CurrentCell.RowIndex).Cells("discper").Value
End If
End Sub
Private Sub NetValueValidation()
If Not Me.grdPurchase.Rows(Me.grdPurchase.CurrentCell.RowIndex).Cells("itemcode").Value Is DBNull.Value And _
Not Me.grdPurchase.Rows(Me.grdPurchase.CurrentCell.RowIndex).Cells("grossamt").Value Is DBNull.Value Then
Me.grdPurchase.Rows(Me.grdPurchase.CurrentCell.RowIndex).Cells("netvalue").Value = _
Me.grdPurchase.Rows(Me.grdPurchase.CurrentCell.RowIndex).Cells("grossamt").Value - _
Me.grdPurchase.Rows(Me.grdPurchase.CurrentCell.RowIndex).Cells("discamt").Value
End If
End Sub
無關,但複製/粘貼的數量正在讓我的眼睛抽搐。 –