This is a migrated thread and some comments may be shown as answers.

update htmlchart binding with a grid when filter

0 Answers 82 Views
Chart (HTML5)
This is a migrated thread and some comments may be shown as answers.
Manolo
Top achievements
Rank 1
Manolo asked on 07 Sep 2015, 10:28 AM

Hi,

I've a grid, and I want show an associated chart. My code works fine, but when I filter the grid, I want that the Chart is binding with the new grid's data.

 My code:

  <div class="col-md-9">
 
        <telerik:RadGrid ID="gridDatos" runat="server" GroupPanelPosition="Top" AllowPaging="True" ShowGroupPanel="True"
            AllowSorting="True" ShowFooter="True" AllowFilteringByColumn="true"
            OnDataBound="gridDatos_DataBound" CellSpacing="-1" GridLines="Both" OnNeedDataSource="gridDatos_NeedDataSource">
....
 
        </telerik:RadGrid>
     
    <div class="col-md-3">
        <telerik:RadHtmlChart ID="RadHtmlChart1" runat="server">
        </telerik:RadHtmlChart>
    </div>
 

Code Behind

protected void gridDatos_NeedDataSource(object sender, GridNeedDataSourceEventArgs e)
       {
           int numeroSemana = 0;
           int estadoOperacion = 0;
           int tipoOperacion = 0;
 
           Int32.TryParse(comboNumeroSemanas.SelectedValue.ToString(), out numeroSemana);
           Int32.TryParse(comboEstadoOperacion.SelectedValue.ToString(), out estadoOperacion);
           Int32.TryParse(comboTipoOperacion.SelectedValue.ToString(), out tipoOperacion);
 
           if (numeroSemana <= 0 || estadoOperacion <= 0 || tipoOperacion <= 0)
               return;
 
           var datos = GetInforme(numeroSemana, tipoOperacion, estadoOperacion);
           gridDatos.DataSource = null;
           gridDatos.DataSource = datos;
 
       }

protected void gridDatos_DataBound(object sender, EventArgs e)
        {
            GenerarGrafico();

        }

        private void GenerarGrafico()
        {
            List<InformeProcesado> ds = gridDatos.DataSource as List<InformeProcesado>;

            if (ds == null)
                return;

            RadHtmlChart1.PlotArea.Series.Clear();

            ColumnSeries serie0 = new ColumnSeries();
            SeriesItem r0 = new SeriesItem();
            r0.YValue = ds.Sum(x => x.Rango0);
            serie0.Items.Add(r0);
            RadHtmlChart1.PlotArea.Series.Add(serie0);

            ColumnSeries serie1 = new ColumnSeries();
            SeriesItem r1 = new SeriesItem();
            r1.YValue = ds.Sum(x => x.Rango1);
            serie1.Items.Add(r1);
            RadHtmlChart1.PlotArea.Series.Add(serie1);

            ColumnSeries serie2 = new ColumnSeries();
            SeriesItem r2 = new SeriesItem();
            r2.YValue = ds.Sum(x => x.Rango2);
            serie2.Items.Add(r2);
            RadHtmlChart1.PlotArea.Series.Add(serie2);

            ColumnSeries serie3 = new ColumnSeries();
            SeriesItem r3 = new SeriesItem();
            r3.YValue = ds.Sum(x => x.Rango3);
            serie3.Items.Add(r3);
            RadHtmlChart1.PlotArea.Series.Add(serie3);

            ColumnSeries serie4 = new ColumnSeries();
            SeriesItem r4 = new SeriesItem();
            r4.YValue = ds.Sum(x => x.Rango4);
            serie4.Items.Add(r4);
            RadHtmlChart1.PlotArea.Series.Add(serie4);

            ColumnSeries serie5 = new ColumnSeries();
            SeriesItem r5 = new SeriesItem();
            r5.YValue = ds.Sum(x => x.Rango5);
            serie5.Items.Add(r5);
            RadHtmlChart1.PlotArea.Series.Add(serie5);

            ColumnSeries serie6 = new ColumnSeries();
            SeriesItem r6 = new SeriesItem();
            r6.YValue = ds.Sum(x => x.Rango6);
            serie6.Items.Add(r6);
            RadHtmlChart1.PlotArea.Series.Add(serie6);

            ColumnSeries serie7 = new ColumnSeries();
            SeriesItem r7 = new SeriesItem();
            r7.YValue = ds.Sum(x => x.Rango7);
            serie7.Items.Add(r7);
            RadHtmlChart1.PlotArea.Series.Add(serie7);
        }​

 

The chart display in bars the summatory values.

 

How can I do it?

 

No answers yet. Maybe you can help?

Tags
Chart (HTML5)
Asked by
Manolo
Top achievements
Rank 1
Share this question
or