如何将数据网格视图中的值添加到 vb.net 中的饼图中?

How can I add values from a datagridview into a pie chart in vb.net?

我想将 datagridview 中的 2 个值表示为饼图。这些值是整数,并且已经显示在数据网格视图中。我只需要将这些值显示在饼图中。 这是我尝试过的:

    For Count As Integer = 0 To DataGridView1.Rows.Count - 2
        Chart1.Series(0).Points.Add(DataGridView1.Item(0, Count).Value, DataGridView1.Item(1, Count).Value)
        Chart1.Series(1).Points.Add(DataGridView1.Item(0, Count).Value, DataGridView1.Item(1, Count).Value)
    Next

这会创建一个循环,将 datagridview 中的所有值插入到图表中。问题是当它运行时,图表确实显示这两个整数。

您可能想先在 Datagridview 中获取所选项目的 ID,然后使用数据表将其记录显示在图表中,这应该可以解决问题

  1. 声明饼图的 x 和 y 值以及系列。

    Dim series As String = "Time"
    Dim yval As Double() = { x, y }
    Dim xval As String() = {"Time Studying", "Time Not Studying"}
    
  2. 从数据网格视图中检索值。

    For Count As Integer = 0 To DataGridView1.Rows.Count - 2
        x = DataGridView1.Item(0, Count).Value
        y = DataGridView1.Item(1, Count).Value
    Next
    
  3. 清除图表值

     Chart1.Series.Clear()
     Chart1.Titles.Clear()
    
  4. 将值绘制到图表中。

    Chart1.Series.Add(series)
    Chart1.Series(series).Points.DataBindXY(xval, yval)
    Chart1.Series("Time").IsValueShownAsLabel = True
    Chart1.Series(series).Points(0).Color = Color.LightSkyBlue
    Chart1.Series(series).Points(1).Color = Color.Orange
    Chart1.Series(series).ChartType = SeriesChartType.Pie