.net chart clear and re-add

后端 未结 5 764
情话喂你
情话喂你 2021-01-04 00:35

I have a chart and I need to clear it in order to populate it with different values. The chart has 3 series, all defined in the .aspx page.

The problem is when I ca

相关标签:
5条回答
  • 2021-01-04 01:00

    This will actually completely remove the series from the chart (not just remove the points from the series).

    while (chart1.Series.Count > 0) { chart1.Series.RemoveAt(0); }
    
    0 讨论(0)
  • 2021-01-04 01:01

    This should work

     chartnameHERE.Series["SeriesNameHERE"].Points.Clear();
    
    0 讨论(0)
  • 2021-01-04 01:13

    This works for me

    foreach(var series in chart.Series)
    {
        series.Points.Clear();
    }
    reloadData();
    this.chart.DataBind();
    
    0 讨论(0)
  • 2021-01-04 01:15

    This should work:

    foreach(var series in chart.Series) {
        series.Points.Clear();
    }
    
    0 讨论(0)
  • 2021-01-04 01:23

    I Faced kind of problem(but for windows form Application). So can you please tell me when are you passing the datasource to the charts.

    I Used incorrect order while passing the data to the chart control

    At first time I did this :

    chart1.Series["Series1"].XValueType = System.Windows.Forms.DataVisualization.Charting.ChartValueType.Auto;
    
    chart1.DataSource = sqlChartTabel; //sqlChartTable is my DataTable
    // Assigning new Data to the charts
    chart1.Series.Clear();   // clearing chart series (after the DataTable is assigned with data)
    chart1.Series.Add("Violations");
    chart1.Series["Series1"].XValueMember = "Month_name";
    chart1.Series["Series1"].YValueMembers = "Salary";
    chart1.ChartAreas["ChartArea1"].AxisX.Title = "Months";
    chart1.ChartAreas["ChartArea1"].AxisY.Title = "Salary";
    chart1.DataBind();
    chart1.Visible = true;
    

    So, then I realized, I am Assigning the data before clearing the chart so I just changed my statement order, And It Worked :

    My Working code :

    chart1.Series.Clear();   // changed position of clear(before Assigning the datatable)
    chart1.Series.Add("Violations");
    chart1.Series["Series1"].XValueType = System.Windows.Forms.DataVisualization.Charting.ChartValueType.Auto;
    chart1.DataSource = sqlChartTabel;   //sqlChartTable is my DataTable
    
    // Assigning new Data to the charts
    chart1.Series["Series1"].XValueMember = "Month_name";
    chart1.Series["Series1"].YValueMembers = "Salary";
    chart1.ChartAreas["ChartArea1"].AxisX.Title = "Months";
    chart1.ChartAreas["ChartArea1"].AxisY.Title = "Salary";
    chart1.DataBind();
    chart1.Visible = true;
    
    0 讨论(0)
提交回复
热议问题