/// <summary> /// Crear un gráfico de Barrasy Líneas. /// </summary> private void crearGraficoBarrasLineas(GraficoBarraLinea grafico, DataTable datos) { // Mostrar las opciones del gráfico gbOpcionesBarrasLineas.Visible = true; // Agregar los datos al gráfico Series serie_barras = new Series(); Series serie_lineas = new Series(); serie_barras.Name = grafico.Nombre_serie; serie_barras.ChartType = SeriesChartType.Column; serie_lineas.Name = grafico.Serie_linea; serie_lineas.ChartType = SeriesChartType.Line; crtGrafico.Series.Add(serie_barras); crtGrafico.Series.Add(serie_lineas); crtGrafico.DataSource = datos; crtGrafico.Series[grafico.Nombre_serie].XValueMember = grafico.Campo_x; crtGrafico.Series[grafico.Nombre_serie].YValueMembers = grafico.Campo_y_barra; crtGrafico.Series[grafico.Serie_linea].XValueMember = grafico.Campo_x; crtGrafico.Series[grafico.Serie_linea].YValueMembers = grafico.Campo_y_linea; crtGrafico.DataBind(); // Dar formato al gráfico Title titulo = new Title(grafico.Nombre); double maximo_lineas = Convert.ToDouble(datos.Compute("Max(" + grafico.Campo_y_linea + ")", string.Empty)); double maximo_barras = Convert.ToDouble(datos.Compute("Max(" + grafico.Campo_y_barra + ")", string.Empty)); crtGrafico.ChartAreas[0].AxisY.Maximum = Math.Max(maximo_lineas, maximo_barras); crtGrafico.Titles.Add(titulo); crtGrafico.ChartAreas[0].AxisX.LabelStyle.Angle = -90; }
/// <summary> /// Obtener los gráficos de barras y lineas ligados a un reporte. /// </summary> /// <param name="r">Reporte para el cual se busca obtener los gráficos ligados al mismo</param> public void obtenerGraficosBarraLinea(ref Reporte r) { SqlDataReader datareader = null; SqlCommand comando = _manejador.obtenerProcedimiento("SelectGraficosBarrasLineas"); _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_barras = (string)datareader["Campo_Y_Barras"]; string campo_y_lineas = (string)datareader["Campo_Y_Lineas"]; string serie_barras = (string)datareader["Serie_Barras"]; string serie_lineas = (string)datareader["Serie_Lineas"]; GraficoBarraLinea grafico = new GraficoBarraLinea(id, nombre, descripcion, procedimiento, campo_x, campo_y_barras, campo_y_lineas, serie_barras, serie_lineas); r.agregarGrafico(grafico); } comando.Connection.Close(); } catch (Exception) { comando.Connection.Close(); throw new Excepcion("ErrorDatosConexion"); } }