protected void Page_Load(object sender, EventArgs e) { try { Sesion Sesion = new Sesion(); Sesion = (Sesion)Session["Sesion" + Session.SessionID]; List <CobSaldosNiveles> Lista = new List <CobSaldosNiveles>(); PieSeriesItem si; CN_ClientesMayorAdeudo.RegresaCuentasPorPagadas(Sesion.Fecha_Cierre, Sesion.Dias_Revision, Sesion.Id_Cte, Sesion.Emp_Cnx, ref Lista); int i = 1; float carteratotal = 0, varporcentaje = 0; DonutSeries ds = new DonutSeries(); foreach (CobSaldosNiveles saldo in Lista) { carteratotal = carteratotal + saldo.Restante; } foreach (CobSaldosNiveles saldo in Lista) { datos = saldo; varporcentaje = (saldo.Restante * 100) / carteratotal; si = new PieSeriesItem(Math.Round((decimal)saldo.Restante, 3), Regresacolor(saldo.Cdi), (saldo.Cdi + " - " + saldo.Cd_Nombre) + ' ' + Math.Round(varporcentaje, 1).ToString() + " %"); ds.SeriesItems.Add(si); i++; } Random randObj = new Random(DateTime.Now.Millisecond); HF_Cve.Value = randObj.Next().ToString(); RcGrafica.ChartTitle.Text = Sesion.Cte_Nombre + " Pendiente por cobrar " + carteratotal.ToString("C2"); ds.LabelsAppearance.Position = Telerik.Web.UI.HtmlChart.PieLabelsPosition.Column; ds.LabelsAppearance.DataFormatString = "{0:N2}"; ds.TooltipsAppearance.Visible = true; ds.TooltipsAppearance.DataFormatString = "{0}"; RcGrafica.PlotArea.Series.Add(ds); RcGrafica.DataBind(); } catch (Exception ex) { throw ex; } }