VB.net中 datagridview控件如何读取框选区域内的行数和区域内的数据总和
datagridview表中,我希望用鼠标框选区域内的单元格时,能自动计算选了多少行,以及框选区域内的数据值的合计。如同Excel表格中,框选区域的数据总和会显示在右下。...
datagridview表中,我希望用鼠标框选区域内的单元格时,能自动计算选了多少行,以及框选区域内的数据值的合计。如同Excel表格中,框选区域的数据总和会显示在右下。
另外要用哪个事件? 展开
另外要用哪个事件? 展开
1个回答
展开全部
在窗体上加上三个标签控件:Label1、Label2、Label3
Private Sub DataGridView1_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles DataGridView1.MouseUp
Dim counter As Integer
Dim SelectedCellTotal As Integer = 0
Dim SelectedCellCount As Integer = 0
For counter = 0 To (DataGridView1.SelectedCells.Count - 1)
If DataGridView1.SelectedCells(counter).FormattedValueType Is _
Type.GetType("System.String") Then
Dim value As String = Nothing
If (DataGridView1.IsCurrentCellDirty = True) Then
value = DataGridView1.SelectedCells(counter).EditedFormattedValue.ToString()
Else
value = DataGridView1.SelectedCells(counter).FormattedValue.ToString()
End If
If value IsNot Nothing Then
If Not value.Length = 0 Then
SelectedCellTotal = SelectedCellTotal + Integer.Parse(value)
SelectedCellCount = SelectedCellCount + 1
End If
End If
End If
Next
Label1.Text = "选中的单元格个数为: " & SelectedCellCount.ToString()
Label2.Text = "单元格里数据之和为: " & SelectedCellTotal.ToString()
Label3.Text = "选中的单元格行数为:" & DataGridView1.SelectedRows.Count.ToString()
End Sub
更多追问追答
追问
谢谢syx54的指导,我有稍做了少许调整,解决了选中非数字单元格会出错的情况,上述程序选中单元格数和求和是正确的,但是求选中多少行好像不行,一直显示为0。
If IsNumeric(value) Then '新增加判定是否为数字
SelectedCellTotal = SelectedCellTotal + Double.Parse(value)
End If
追答
对的,对于园中非数字单元格需要加代码判断处理。对于选择非整个行,也需要加代码。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询