2011-09-12 19 views
0

私は3列(qty、scraft factor、actuall qty)を持つdatagridviewを持っています。私が欲しいのは、ユーザーが50を量でエンコードし、2をscrafの要素でエンコードすると、アクチュアリティの量が自動的に2を乗じた数に基づいて計算されます。私はkeyupイベントを使用していました。現在、私は現在の行と列の現在の値を取得するためにendsitを使用していますが、問題はエンコードされる量がendsitのために受け入れられない複数の数字である場合です。どのようなイベントを使用する必要がありますか?またはこのシナリオの任意のソリューションです。以下のコードを参照してくださいvb.net keyupイベント

ありがとうございました。

ティルソ

Private Sub tbx_KeyUp(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) 
    dgvIngredient.EndEdit() 

    Dim intCurrentRow As Integer = dgvIngredient.CurrentRow.Index 
    Dim decQuantity As Decimal 
    Dim decScrafFactor As Decimal 
    Dim decActuallQty As Decimal 

    decQuantity = dgvIngredient.Item(2, intCurrentRow).Value 
    decScrafFactor = dgvIngredient.Item(3, intCurrentRow).Value 
    decActuallQty = decQuantity * decScrafFactor 

    dgvIngredient.Item(4, intCurrentRow).Value = decActuallQty 

End Sub 

答えて

1

は、私にとってはCellEndEditイベントで問題なく動作します。

(すべて1つのステップで)これを試してみてください:

dgvIngredient.Rows(e.RowIndex).Cells(4).Value = Convert.ToDecimal(dgvIngredient.Rows(e.RowIndex).Cells(2).Value) * Convert.ToDecimal(dgvIngredient.Rows(e.RowIndex).Cells(3).Value) 
関連する問題