计算列

时间:2013-02-22 04:15:03

标签: vb.net winforms datagridview

我想使用CellEndEdit事件执行简单的计算。我有以下代码:

Private Sub DataGridView2_CellEndEdit(ByVal sender As Object, e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView2.CellEndEdit

    Dim Total As DataGridView = DirectCast(sender, DataGridView)

    If IsDBNull(Total(0, e.RowIndex).Value) Then Exit Sub

    Total("C3", e.RowIndex).Value = Total("C1", e.RowIndex).Value + Total("C2", e.RowIndex).Value

End Sub

但是当我在C1C2列中输入20时,C3显示的是2020而不是40。请帮我解决这个问题。

2 个答案:

答案 0 :(得分:1)

好吧,如果Total("C1", e.RowIndex).Value的类型是字符串,它会连接它们。 试试

Total("C3", e.RowIndex).Value = (((cint)Total("C1", e.RowIndex).Value) + ((cint(Total("C2", e.RowIndex).Value)).ToString()

做一个补充。

HTH

答案 1 :(得分:1)

当您处理字符串时,正在使用+运算符  作为一个连续...尝试;

Total("C3", e.RowIndex).Value = CInt(Total("C1", e.RowIndex).Value) + CInt(Total("C2", e.RowIndex))