/// <summary> /// Crear un gráfico de tipo Pie. /// </summary> private void crearGraficoPie(GraficoPie grafico, DataTable datos) { // Mostrar las opciones del gráfico Pie gbOpcionesPie.Visible = true; // Agregar los datos al gráfico Series serie_pie = new Series(); serie_pie.Name = grafico.Nombre_serie; serie_pie.ChartType = SeriesChartType.Pie; crtGrafico.Series.Add(serie_pie); crtGrafico.DataSource = datos; crtGrafico.Series[grafico.Nombre_serie].XValueMember = grafico.Campo_x; crtGrafico.Series[grafico.Nombre_serie].YValueMembers = grafico.Campo_y; crtGrafico.DataBind(); // Dar formato al gráfico Title titulo = new Title(grafico.Nombre); crtGrafico.Titles.Add(titulo); }
/// <summary> /// Obtener los gráficos de tipo Pie ligados a un reporte. /// </summary> /// <param name="r">Reporte para el cual se busca obtener los gráficos ligados al mismo</param> public void obtenerGraficosPie(ref Reporte r) { SqlDataReader datareader = null; SqlCommand comando = _manejador.obtenerProcedimiento("SelectGraficosPie"); _manejador.agregarParametro(comando, "@reporte", r.ID, SqlDbType.TinyInt); try { datareader = _manejador.ejecutarConsultaDatos(comando); while (datareader.Read()) { short id = (short)datareader["pk_ID"]; string nombre = (string)datareader["Nombre"]; string descripcion = (string)datareader["Descripcion"]; string procedimiento = (string)datareader["Procedimiento"]; string campo_x = (string)datareader["Campo_X"]; string campo_y = (string)datareader["Campo_Y"]; string serie = (string)datareader["Serie"]; GraficoPie grafico = new GraficoPie(id, nombre, descripcion, procedimiento, campo_x, campo_y, serie); r.agregarGrafico(grafico); } comando.Connection.Close(); } catch (Exception) { comando.Connection.Close(); throw new Excepcion("ErrorDatosConexion"); } }
private void btnGraficaPie_Click(object sender, EventArgs e) { List <TablaFrecuencia_E> DataFinal = new List <TablaFrecuencia_E>(); DataFinal = RecuperarDatos(); if (DataFinal.Count == 0) { MessageBox.Show("Se deben cargar datos previamente", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning); } else { Form frompie = new GraficoPie(DataFinal); frompie.Show(); } }