VB.NET如何遍历DataGrid指定行列求和、读取列头并展示到Chart图表
实现代码
你可以直接通过DataGridView.Columns(索引).HeaderText属性获取对应列的列头文本,完整实现如下:
For i As Integer = 5 To 15 ' 1. 获取当前列的列头文本 Dim col As String = dgvData.Columns(i).HeaderText ' 2. 计算当前列所有行的数值和,额外加了空值、新行过滤避免报错 Dim sumOFrows = (From row As DataGridViewRow In dgvData.Rows.Cast(Of DataGridViewRow)() Where Not row.IsNewRow AndAlso row.Cells(i).Value IsNot DBNull.Value Select CDec(row.Cells(i).Value)).Sum ' 3. 绑定数据到图表 Me.Chart1.Series("Repairs").Points.AddXY(col, sumOFrows) Next
注意事项
- DataGridView的列索引从0开始计数,请确认你要取的第5~15列对应索引是否正确,若视觉上的第1列对应绑定的第0列,当前索引无需调整
- 代码中新增的
IsNewRow判断会跳过控件末尾的空白新增行,DBNull判断会跳过空值单元格,你可以根据自己的实际业务场景调整过滤规则 - 求和后的数值不要转成字符串传入
AddXY方法,否则图表会将Y轴值识别为文本分类,无法正常生成数值型统计坐标轴
内容的提问来源于stack exchange,提问作者Cam385
相关产品推荐
相关产品推荐

