【问题标题】:Refreshing Chart area刷新图表区
【发布时间】:2023-03-25 21:40:01
【问题描述】:

我正在尝试从 datagridview 绘制图表。 My problem is that when selecting a combobox item and clicking an Ok button, the data is filtered and plotted in the chart Area, but when selecting another item, the plot is added to the first one.

如何在选择新项目之前刷新图表区域?

我的代码:

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

    Dim d3 As New ChartArea3DStyle
    d3.Enable3D = True

    Me.RGPHReqBindingSource1.Filter = "[name] LIKE '" & Combo_com.SelectedItem & "%'"

    For Count As Integer = 0 To DataGridView2.Rows.Count - 2
        Chart1.Series(0).Points.AddXY(DataGridView2.Item(0, Count).Value, DataGridView2.Item(1, Count).Value)
        Chart1.ChartAreas("ChartArea1").AxisX.IsLabelAutoFit = False
        Chart1.ChartAreas("ChartArea1").AxisX.LabelStyle.Angle = 0
        Chart1.ChartAreas("ChartArea1").AxisX.LabelStyle.Format = 5
        Chart1.ChartAreas("ChartArea1").Area3DStyle = d3
        Chart1.ChartAreas(0).AxisX.Title = "Classes des pentes"
        Chart1.ChartAreas(0).AxisY.Title = "Pourcentage %"
    Next

    For Count2 As Integer = 0 To DataGridView6.Rows.Count - 2

        Chart2.Series(0).Points.AddXY(DataGridView6.Columns(0).HeaderText, DataGridView6.Item(0, Count2).Value)
        Chart2.ChartAreas("ChartArea2").AxisX.IsLabelAutoFit = False
        Chart2.ChartAreas("ChartArea2").AxisX.LabelStyle.Angle = 0
        Chart2.ChartAreas(0).AxisX.Title = "Type de Cheptel"
        Chart2.ChartAreas(0).AxisY.Title = "Effectif Nombre de Tête"

    Next

End Sub

【问题讨论】:

    标签: vb.net charts datagridview


    【解决方案1】:

    我有循环更新图表。

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    
        Dim d3 As New ChartArea3DStyle
        d3.Enable3D = True
    
        Me.RGPHReqBindingSource1.Filter = "[name] LIKE '" & Combo_com.SelectedItem & "%'"
    
        For Count As Integer = 0 To DataGridView2.Rows.Count - 2
            Chart1.Series(0).Points.AddXY(DataGridView2.Item(0, Count).Value, DataGridView2.Item(1, Count).Value)
            Chart1.ChartAreas("ChartArea1").AxisX.IsLabelAutoFit = False
            Chart1.ChartAreas("ChartArea1").AxisX.LabelStyle.Angle = 0
            Chart1.ChartAreas("ChartArea1").AxisX.LabelStyle.Format = 5
            Chart1.ChartAreas("ChartArea1").Area3DStyle = d3
            Chart1.ChartAreas(0).AxisX.Title = "Classes des pentes"
            Chart1.ChartAreas(0).AxisY.Title = "Pourcentage %"
            Chart1.Update()
        Next
    
        For Count2 As Integer = 0 To DataGridView6.Rows.Count - 2
    
            Chart2.Series(0).Points.AddXY(DataGridView6.Columns(0).HeaderText,DataGridView6.Item(0, Count2).Value)
            Chart2.ChartAreas("ChartArea2").AxisX.IsLabelAutoFit = False
            Chart2.ChartAreas("ChartArea2").AxisX.LabelStyle.Angle = 0
            Chart2.ChartAreas(0).AxisX.Title = "Type de Cheptel"
            Chart2.ChartAreas(0).AxisY.Title = "Effectif Nombre de Tête"
            Chart2.Update()
        Next
    
    End Sub
    

    【讨论】:

      猜你喜欢
      • 2016-05-27
      • 2017-07-13
      • 2012-01-07
      • 2016-11-27
      • 2022-01-10
      • 2020-05-30
      • 2010-11-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多