Beispiel #1
0
        /// <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;
        }
Beispiel #2
0
        /// <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");
            }
        }