Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Create chart from DataGridView

I have a form with DataGridView (2 columns: PartnerName, Adult)

enter image description here

Please, I need to fill data from DataGridView to chart and print the chart

like image 842
Ahmed Sharkawy Avatar asked Nov 25 '25 15:11

Ahmed Sharkawy


1 Answers

You can get idea from following code:

private void DataGridBinding_Load(object sender, System.EventArgs e)
{
   // Populate series data using random data
  double[]    yValues = { 23.67, 75.45, 60.45, 34.54, 85.62, 32.43, 55.98, 67.23 };
  for(int pointIndex = 0; pointIndex < yValues.Length; pointIndex++)
  {
    chart1.Series["Series1"].Points.AddXY(1990 + pointIndex, yValues[pointIndex]);
  }

  // Export series values into DataSet object
  dataSet1 = chart1.DataManipulator.ExportSeriesValues("Series1");

  // Data bind DataGrid control. 
  SeriesValuesDataGrid.DataSource = dataSet1;

  // Set Series name for data
  SeriesValuesDataGrid.DataMember = "Series1";

}

private void SeriesValuesDataGrid_CurrentCellChanged(object sender,System.EventArgs e)
{
   // Initializes a new instance of the DataView class
   DataView firstView = new DataView(dataSet1.Tables[0]);

   // Since the DataView implements IEnumerable, pass the reader directly into
   // the DataBind method with the name of the Columns selected in the query    
   chart1.Series["Series1"].Points.DataBindXY(firstView,"X",firstView,"Y");

   // Invalidate Chart
   chart1.Invalidate();
}

enter image description here

You can get complete project code from Samples Environments for Microsoft Chart Controls and find the code from WorkingWithData>DataManipulation>Exporting>DataGridBinding section.

like image 135
Masoud Avatar answered Nov 27 '25 05:11

Masoud



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!