/// <summary>
        /// Modifica la grafica que se va a presentar
        /// </summary>
        /// <param name="mes">Mes usado para pintar el eje X</param>
        /// <param name="sucursalId">Identificador de la Sucursal a usar</param>
        /// <param name="datos">DataSet con la informacion</param>
        /// <param name="diasMes">Numero de dias del mes</param>
        /// <param name="totalFlota">Lista con la suma de totales de la flota</param>
        /// <param name="totalRentados">Lista con las suma de los totales rentados de la flota</param>
        private void ModificarGrafica(int mes, int sucursalId, RentasSucursalDS datos, int diasMes, List <Int32> totalFlota, List <Int32> totalRentados)
        {
            XRChart grafica   = this.xrGraficaUtilizacion as XRChart;
            var     nombreMes = datos.Meses.First(x => x.Mes == mes).Nombre;

            if (sucursalId != 0)
            {
                var nombreSucursal = datos.Sucursales.First(x => x.SucursalID == sucursalId).Nombre;
                grafica.Titles[0].Text = "SUCURSAL " + nombreSucursal + " " + nombreMes;
            }
            else
            {
                grafica.Titles[0].Text = "TOTAL " + nombreMes;
            }

            XYDiagram diagramaGrafica = grafica.Diagram as XYDiagram;

            diagramaGrafica.AxisX.CustomLabels.Clear();
            diagramaGrafica.AxisX.Range.MaxValue = diasMes;

            for (int i = 1; i < diasMes + 1; i++)
            {
                CustomAxisLabel customAxisLabel = new CustomAxisLabel();
                customAxisLabel.Name      = i.ToString();
                customAxisLabel.AxisValue = i.ToString();
                diagramaGrafica.AxisX.CustomLabels.Add(customAxisLabel);
            }

            if (sucursalId == 0)
            {
                RentasSucursalDS newDataSet = new RentasSucursalDS();
                for (int i = 0; i < totalFlota.Count; i++)
                {
                    Int32  totalFlotaDia    = totalFlota[i];
                    Int32  totalRentadosDia = totalRentados[i];
                    Double?porcentaje       = null;
                    if (totalFlotaDia != 0)
                    {
                        porcentaje = (Double.Parse(totalRentadosDia.ToString()) / Double.Parse(totalFlotaDia.ToString()));
                    }
                    else
                    {
                        porcentaje = 0;
                    }
                    var row = newDataSet.SubTotalXDia.NewSubTotalXDiaRow();

                    row.Dia = i + 1;
                    row.Mes = mes;
                    row.PorcentajeUtilizacionFlota = Int32.Parse(Math.Round((Double)(porcentaje * 100)).ToString());
                    row.Anio = UsarSucursal.Value == true?this.GetCurrentColumnValue <int>("Anio") : Anio.Value;

                    newDataSet.SubTotalXDia.AddSubTotalXDiaRow(row);
                }
                grafica.DataSource = newDataSet;
            }
            else
            {
                grafica.DataSource = datos;
            }
        }
        void LookAndFeel_StyleChanged(object sender, EventArgs e)
        {
            XYDiagram       xYDiagram       = stockChart.Diagram as XYDiagram;
            CustomAxisLabel customAxisLabel = xYDiagram.AxisY.CustomLabels[0];

            customAxisLabel.BackColor = Skins.CommonSkins.GetSkin(stockChart.LookAndFeel).SvgPalettes[ObjectState.Normal].GetColor("Gray");
            customAxisLabel.TextColor = Skins.CommonSkins.GetSkin(stockChart.LookAndFeel).SvgPalettes[ObjectState.Normal].GetColor("White");
        }
Exemple #3
0
        // 根据交易时段设置label
        public static void SetCustomLabel(ChartControl chartControl, DataRow[] drSegment)
        {
            XYDiagram diagram = (XYDiagram)chartControl.Diagram;

            diagram.AxisX.WholeRange.SetMinMaxValues((String)drSegment[0]["BeginTime"], (String)drSegment[drSegment.Length - 1]["EndTime"]);
            diagram.AxisX.VisualRange.SetMinMaxValues((String)drSegment[0]["BeginTime"], (String)drSegment[drSegment.Length - 1]["EndTime"]);

            String dt = DateTime.Now.ToString("yyyyMMdd");

            DateTime dtCur = DateTime.ParseExact(dt + (String)drSegment[0]["BeginTime"], "yyyyMMddHHmm", System.Globalization.CultureInfo.CurrentCulture);

            dtCur = dtCur.AddDays((long)drSegment[0]["BeginDay"]);

            CustomAxisLabelCollection labels = diagram.AxisX.CustomLabels;

            for (int i = 0; i < drSegment.Length; i++)
            {
                DateTime dtBegin = DateTime.ParseExact(dt + (String)drSegment[i]["BeginTime"], "yyyyMMddHHmm", System.Globalization.CultureInfo.CurrentCulture);
                dtBegin = dtBegin.AddDays((long)drSegment[i]["BeginDay"]);
                DateTime dtEnd = DateTime.ParseExact(dt + (String)drSegment[i]["EndTime"], "yyyyMMddHHmm", System.Globalization.CultureInfo.CurrentCulture);
                dtEnd = dtEnd.AddDays((long)drSegment[i]["EndDay"]);

                if (dtCur < dtBegin)
                {
                    if (i == 0)
                    {
                        dtCur = dtBegin;
                    }
                    else if (dtBegin.Hour == 10)
                    {
                        dtCur = dtBegin.AddMinutes(15);
                    }
                    else
                    {
                        dtCur = dtBegin.AddMinutes(30);
                    }
                }

                while (dtCur <= dtEnd)
                {
                    String          strLabel = dtCur.ToString("HH:mm");
                    CustomAxisLabel onelabel = new CustomAxisLabel();
                    onelabel.AxisValue = strLabel;
                    onelabel.Name      = strLabel;
                    labels.Add(onelabel);

                    dtCur = dtCur.AddMinutes(30);
                }
            }
        }
        /// <summary>
        /// Crea las cordenadas del eje x, usando las primeras letras del mes
        /// </summary>
        public void CreateAxisX()
        {
            XYDiagram diagram = (this.chartTimeUtilization.Diagram as XYDiagram);

            diagram.AxisX.CustomLabels.Clear();

            ReporteRDSucursalDS dataSet = this.DataSource as ReporteRDSucursalDS;

            foreach (ReporteRDSucursalDS.MesesRow row in dataSet.Meses.Rows)
            {
                CustomAxisLabel customAxisLabel = new CustomAxisLabel();
                customAxisLabel.Name      = row.Nombre.Substring(0, 1).ToUpper();
                customAxisLabel.AxisValue = String.Format("{0}-{1}", row.Anio, row.Mes);
                diagram.AxisX.CustomLabels.Add(customAxisLabel);
            }
        }
Exemple #5
0
        /// <summary>
        /// Crea las coordenadas del eje X, usando las primeras letras del mes
        /// </summary>
        public void CreateAxisX()
        {
            XYDiagram diagrama = (this.xrChartElementoSucursal.Diagram as XYDiagram);

            diagrama.AxisX.CustomLabels.Clear();

            DollarUtilizationDS rs = this.DataSource as DollarUtilizationDS;

            foreach (DollarUtilizationDS.MesesRow row in rs.Meses.Rows)
            {
                CustomAxisLabel customAxisLabel = new CustomAxisLabel();
                customAxisLabel.Name      = row.Nombre.Substring(0, 1).ToUpper();
                customAxisLabel.AxisValue = row.Mes;
                diagrama.AxisX.CustomLabels.Add(customAxisLabel);
            }
        }
        /// <summary>
        /// Crea las cordenadas del eje x, usando las primeras letras del mes
        /// </summary>
        public void CreateAxisX()
        {
            XYDiagram diagram = (this.xrcGraficaRendimiento.Diagram as XYDiagram);

            diagram.AxisX.CustomLabels.Clear();

            ReporteRendimientoUnidadDS dataSet = this.DataSource as ReporteRendimientoUnidadDS;

            foreach (ReporteRendimientoUnidadDS.MesesRow row in dataSet.Meses.Rows)
            {
                CustomAxisLabel customAxisLabel = new CustomAxisLabel();
                customAxisLabel.Name      = row.NombreMes.Substring(0, 1).ToUpper();
                customAxisLabel.AxisValue = String.Format("{0}-{1}", row.Anio, row.Mes);
                customAxisLabel.Visible   = true;
                diagram.AxisX.CustomLabels.Add(customAxisLabel);
            }
        }
Exemple #7
0
        void initGantt(List <TaskTree> tasktree, DateTime[] projectDate)
        {
            BandedGridView view = advBandedGridView1 as BandedGridView;

            view.BeginUpdate();     //开始视图的编辑,防止触发其他事件
            view.BeginDataUpdate(); //开始数据的编辑
            view.Bands.Clear();
            DateTime start    = new DateTime(2013, 12, 10);
            DateTime end      = new DateTime(2014, 5, 2);
            GridBand gridBand = view.Bands.AddBand(start.ToString("yy-MM-dd"));

            gridBand.AppearanceHeader.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
            int    days = (end - start).Days;
            string Day  = "日一二三四五六";

            CustomAxisLabel[] customaxislabels = new CustomAxisLabel[days + 1];
            customaxislabels[0] = new CustomAxisLabel(start.ToString("yy-MM-dd"), start);
            for (int i = 0; i <= days + 1; i++)
            {
                try
                {
                    CustomAxisLabel cal = new CustomAxisLabel();
                    cal.AxisValue           = start;
                    cal.Name                = start.ToString("yy-MM-dd");
                    customaxislabels[i + 1] = cal;
                    if (start.DayOfWeek == DayOfWeek.Monday)
                    {
                        gridBand = view.Bands.AddBand(start.ToString("yyyy-MM-dd"));
                        gridBand.AppearanceHeader.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
                    }
                    GridBand childen = gridBand.Children.AddBand(Day[(int)start.DayOfWeek] + "");
                    childen.AppearanceHeader.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
                    childen.Width = 24;
                    start         = start.AddDays(1);
                }
                catch { }
            }
            gcGanttDate.Width = days * 24 + 2;
            view.EndDataUpdate(); //结束数据的编辑
            view.EndUpdate();     //结束视图的编辑

            //设置甘特图属性
            ccProjectGantt.Width = gcGanttDate.Width;
            //chartControl1.Height = 4 * 24;
            ganttDiagram1.AxisX.Visible = false;
            ganttDiagram1.AxisY.CustomLabels.AddRange(customaxislabels);
            ConstantLine progress = new ConstantLine("当前进度", DateTime.Now);

            progress.Color = Color.Red;
            ganttDiagram1.AxisY.ConstantLines.Add(progress);
            ganttDiagram1.AxisY.Range.MinValueInternal = 0;
            ganttDiagram1.AxisY.Range.MaxValueInternal = days * 24;
            ganttDiagram1.AxisY.Visible = false;

            series1.Points.Add(new SeriesPoint("项目进度", new DateTime[] { new DateTime(2013, 12, 12, 0, 0, 0), new DateTime(2014, 4, 30) }));
            SeriesPoint sp = new SeriesPoint();

            series2.Points.Add(new SeriesPoint("产品进度", new DateTime[] { new DateTime(2013, 12, 12), new DateTime(2014, 1, 12) }));
            series2.Points.Add(new SeriesPoint("Task 2", new DateTime[] { new DateTime(2014, 1, 13), new DateTime(2014, 2, 28) }));
            series2.Points.Add(new SeriesPoint("Task 3", new DateTime[] { new DateTime(2014, 3, 1), new DateTime(2014, 3, 30) }));
            series2.Points.Add(new SeriesPoint("Task 4", new DateTime[] { new DateTime(2014, 4, 1), new DateTime(2014, 4, 30) }));
            series2.Points[2].Relations.Add(series2.Points[1]);
            series3.Points.Add(new SeriesPoint("产品进度", new DateTime[] { new DateTime(2013, 12, 12), new DateTime(2014, 1, 12) }));
            series3.Points.Add(new SeriesPoint("Task 2", new DateTime[] { new DateTime(2014, 1, 13), new DateTime(2014, 2, 28) }));
            series3.Points.Add(new SeriesPoint("Task 3", new DateTime[] { new DateTime(2014, 3, 1), new DateTime(2014, 3, 4) }));
            series4.Points.Add(new SeriesPoint("Task 3", new DateTime[] { new DateTime(2014, 3, 4), DateTime.Now }));
        }
        protected override void UpdateChart()
        {
            AxisBase axis;

            if (!string.IsNullOrWhiteSpace(AxisName))
            {
                axis = BaseAxisCmdlet.GetSecondaryAxis(ChartContext.Chart.Diagram, AxisType, AxisName);
                if (axis == null)
                {
                    throw new Exception($"Cannot find axis '{AxisName}'.");
                }
            }
            else
            {
                axis = BaseAxisCmdlet.GetPrimaryAxis(ChartContext.Chart.Diagram, AxisType);
                if (axis == null)
                {
                    throw new Exception("Cannot find primary axis.");
                }
            }

            if (axis is not Axis2D axis2D)
            {
                throw new Exception("Only 2D axis support custom labels.");
            }

            var label = new CustomAxisLabel();

            if (!string.IsNullOrWhiteSpace(Name))
            {
                label.Name = Name;
            }

            label.AxisValue = Value;

            var backColor = Utils.ColorFromString(BackColor);

            if (backColor != Color.Empty)
            {
                label.BackColor = backColor;
            }

            var borderColor = Utils.ColorFromString(BorderColor);

            if (borderColor != Color.Empty)
            {
                label.Border.Color      = borderColor;
                label.Border.Visibility = DevExpress.Utils.DefaultBoolean.True;
            }
            if (BorderThickness.HasValue)
            {
                label.Border.Thickness  = BorderThickness.Value;
                label.Border.Visibility = DevExpress.Utils.DefaultBoolean.True;
            }
            if (BorderVisible.HasValue)
            {
                label.Border.Visibility = BorderVisible.Value ? DevExpress.Utils.DefaultBoolean.True : DevExpress.Utils.DefaultBoolean.Default;
            }

            if (FillMode.HasValue)
            {
                label.FillStyle.FillMode = FillMode.Value;
                switch (FillMode.Value)
                {
                case DevExpress.XtraCharts.FillMode.Empty:
                    break;

                case DevExpress.XtraCharts.FillMode.Solid:
                    break;

                case DevExpress.XtraCharts.FillMode.Gradient:
                    if (label.FillStyle.Options is RectangleGradientFillOptions gradientOptions)
                    {
                        var backColor2 = Utils.ColorFromString(BackColor2);
                        if (backColor2 != System.Drawing.Color.Empty)
                        {
                            gradientOptions.Color2 = backColor2;
                        }
                        if (FillGradientMode.HasValue)
                        {
                            gradientOptions.GradientMode = FillGradientMode.Value;
                        }
                    }
                    break;

                case DevExpress.XtraCharts.FillMode.Hatch:
                    if (label.FillStyle.Options is HatchFillOptions hatchOptions)
                    {
                        var backColor2 = Utils.ColorFromString(BackColor2);
                        if (backColor2 != System.Drawing.Color.Empty)
                        {
                            hatchOptions.Color2 = backColor2;
                        }
                        if (FillHatchStyle.HasValue)
                        {
                            hatchOptions.HatchStyle = FillHatchStyle.Value;
                        }
                    }
                    break;
                }
            }

            var font = Utils.StringToFont(Font, out Color textColor);

            if (font != null)
            {
                label.Font = font;
            }
            if (textColor != Color.Empty)
            {
                label.TextColor = textColor;
            }

            if (ShowGridLine)
            {
                label.GridLineVisible = true;
            }

            label.Visible = true;


            axis2D.CustomLabels.Add(label);
        }
Exemple #9
0
        void initGantt(List<TaskTree> tasktree,DateTime[] projectDate)
        {
            BandedGridView view = advBandedGridView1 as BandedGridView;
            view.BeginUpdate(); //开始视图的编辑,防止触发其他事件
            view.BeginDataUpdate(); //开始数据的编辑
            view.Bands.Clear();
            DateTime start = new DateTime(2013, 12, 10);
            DateTime end = new DateTime(2014, 5, 2);
            GridBand gridBand = view.Bands.AddBand(start.ToString("yy-MM-dd"));
            gridBand.AppearanceHeader.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
            int days = (end - start).Days;
            string Day = "日一二三四五六";
            CustomAxisLabel[] customaxislabels = new CustomAxisLabel[days + 1];
            customaxislabels[0] = new CustomAxisLabel(start.ToString("yy-MM-dd"), start);
            for (int i = 0; i <= days + 1; i++)
            {
                try
                {
                    CustomAxisLabel cal = new CustomAxisLabel();
                    cal.AxisValue = start;
                    cal.Name = start.ToString("yy-MM-dd");
                    customaxislabels[i + 1] = cal;
                    if (start.DayOfWeek == DayOfWeek.Monday)
                    {
                        gridBand = view.Bands.AddBand(start.ToString("yyyy-MM-dd"));
                        gridBand.AppearanceHeader.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
                    }
                    GridBand childen = gridBand.Children.AddBand(Day[(int)start.DayOfWeek] + "");
                    childen.AppearanceHeader.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
                    childen.Width = 24;
                    start = start.AddDays(1);
                }
                catch { }
            }
            gcGanttDate.Width = days * 24 + 2;
            view.EndDataUpdate();//结束数据的编辑
            view.EndUpdate();   //结束视图的编辑

            //设置甘特图属性
            ccProjectGantt.Width = gcGanttDate.Width;
            //chartControl1.Height = 4 * 24;
            ganttDiagram1.AxisX.Visible = false;
            ganttDiagram1.AxisY.CustomLabels.AddRange(customaxislabels);
            ConstantLine progress = new ConstantLine("当前进度", DateTime.Now);
            progress.Color = Color.Red;
            ganttDiagram1.AxisY.ConstantLines.Add(progress);
            ganttDiagram1.AxisY.Range.MinValueInternal = 0;
            ganttDiagram1.AxisY.Range.MaxValueInternal = days * 24;
            ganttDiagram1.AxisY.Visible = false;

            series1.Points.Add(new SeriesPoint("项目进度", new DateTime[] { new DateTime(2013, 12, 12, 0, 0, 0), new DateTime(2014, 4, 30) }));
            SeriesPoint sp = new SeriesPoint();
            series2.Points.Add(new SeriesPoint("产品进度", new DateTime[] { new DateTime(2013, 12, 12), new DateTime(2014, 1, 12) }));
            series2.Points.Add(new SeriesPoint("Task 2", new DateTime[] { new DateTime(2014, 1, 13), new DateTime(2014, 2, 28) }));
            series2.Points.Add(new SeriesPoint("Task 3", new DateTime[] { new DateTime(2014, 3, 1), new DateTime(2014, 3, 30) }));
            series2.Points.Add(new SeriesPoint("Task 4", new DateTime[] { new DateTime(2014, 4, 1), new DateTime(2014, 4, 30) }));
            series2.Points[2].Relations.Add(series2.Points[1]);
            series3.Points.Add(new SeriesPoint("产品进度", new DateTime[] { new DateTime(2013, 12, 12), new DateTime(2014, 1, 12) }));
            series3.Points.Add(new SeriesPoint("Task 2", new DateTime[] { new DateTime(2014, 1, 13), new DateTime(2014, 2, 28) }));
            series3.Points.Add(new SeriesPoint("Task 3", new DateTime[] { new DateTime(2014, 3, 1), new DateTime(2014, 3, 4) }));
            series4.Points.Add(new SeriesPoint("Task 3", new DateTime[] { new DateTime(2014, 3, 4), DateTime.Now }));
        }
Exemple #10
0
    private void BindChart(DataTable dtSource, DataTable dtColumns)
    {
        if (dtColumns.Columns.Contains("DEFECT_QUANTITY"))
        {
            dtColumns.Columns.Remove("DEFECT_QUANTITY");
        }

        XYDiagram      diagram01;
        SecondaryAxisY xY;
        SecondaryAxisX xX;

        diagram01 = (XYDiagram)this.chart.Diagram;
        xY        = diagram01.SecondaryAxesY.GetAxisByName("SecondaryAxisY");
        xX        = diagram01.SecondaryAxesX.GetAxisByName("SecondaryAxisX");

        chart.Series.Clear();

        Series[] ser = new Series[dtColumns.Rows.Count];

        for (int i = 0; i < dtSource.Rows.Count; i++)
        {
            string oper = string.Empty;
            //不良原因分类
            oper   = dtSource.Rows[i][1].ToString();
            ser[i] = new Series(oper, ViewType.Spline);
            ser[i].ArgumentScaleType = ScaleType.Qualitative;
            ser[i].ValueScaleType    = ScaleType.Numerical;

            //SeriesPoint[] seriesPoints = new SeriesPoint[dtColumns.Rows.Count];
            CustomAxisLabel[] lbls_xbar = new CustomAxisLabel[dtColumns.Rows.Count];
            int n = 0;
            for (int j = 0; j < dtSource.Columns.Count; j++)
            {
                string col = dtSource.Columns[j].ColumnName;
                if (col.Equals("SEQ") || col.Equals("DEFECT_NAME"))
                {
                    continue;
                }

                string data = dtSource.Rows[i][col].ToString();
                if (string.IsNullOrEmpty(data))
                {
                    data = "0";
                }
                if (data.Contains("%"))
                {
                    data = (Convert.ToDecimal(data.Replace("%", "").Trim()) / 100).ToString();
                }
                string xlable = GetResourceData(col);
                if (string.IsNullOrEmpty(xlable))
                {
                    xlable = col;
                }
                SeriesPoint seriesPoint = new SeriesPoint(xlable, (object)(data));
                //seriesPoints[n] = seriesPoint;
                ser[i].Points.Add(seriesPoint);
                n++;
            }
            //ser[i].Points.AddRange(seriesPoints);

            chart.Series.Add(ser[i]);
        }
        xX.Visible = true;

        diagram01 = (XYDiagram)this.chart.Diagram;
        for (int i = 0; i < this.chart.Series.Count; i++)
        {
            Series s = this.chart.Series[i];
            if (s.Name != "累计比例")
            {
                ((XYDiagramSeriesViewBase)s.View).AxisY = diagram01.SecondaryAxesY[0];
            }
        }
    }
Exemple #11
0
        private void GroupHeader1_BeforePrint(object sender, System.Drawing.Printing.PrintEventArgs e)
        {
            if (this.GetCurrentColumnValue("alu_id") != null)
            {
                int esa_tipo = dsGestaoEscolar1.NEW_Relatorio_GrafIndividualNotas.AsEnumerable()
                               .Where(p => Convert.ToInt64(p.Field <object>("alu_id")) == Convert.ToInt64(this.GetCurrentColumnValue("alu_id").ToString()))
                               .FirstOrDefault().esa_tipo;
                int esa_id = dsGestaoEscolar1.NEW_Relatorio_GrafIndividualNotas.AsEnumerable()
                             .Where(p => Convert.ToInt64(p.Field <object>("alu_id")) == Convert.ToInt64(this.GetCurrentColumnValue("alu_id").ToString()))
                             .FirstOrDefault().esa_id;

                List <int> lstTpc = (from dadosGeral in dsGestaoEscolar1.NEW_Relatorio_GrafIndividualNotas.AsEnumerable()
                                     where Convert.ToInt64(dadosGeral.Field <object>("alu_id")) == Convert.ToInt64(this.GetCurrentColumnValue("alu_id").ToString())
                                     group dadosGeral by dadosGeral.Field <object>("tpc_ordem") into dadosGeralTpc
                                     select Convert.ToInt32(dadosGeralTpc.Key)).ToList();

                xrChart1.Series.Clear();

                int series = 0;
                foreach (int tpc_ordem in lstTpc)
                {
                    string tpc_nome = dsGestaoEscolar1.NEW_Relatorio_GrafIndividualNotas.AsEnumerable()
                                      .Where(p => Convert.ToInt32(p.Field <object>("tpc_ordem")) == tpc_ordem)
                                      .FirstOrDefault().tpc_nome;
                    Series serie = new Series(tpc_nome, ViewType.Line);
                    serie.ArgumentScaleType = ScaleType.Auto;
                    xrChart1.Series.Add(serie);
                    xrChart1.Series[series].DataSource = (from dadosGeral in dsGestaoEscolar1.NEW_Relatorio_GrafIndividualNotas.AsEnumerable()
                                                          where Convert.ToInt64(dadosGeral.Field <object>("alu_id")) == Convert.ToInt64(this.GetCurrentColumnValue("alu_id").ToString()) &&
                                                          Convert.ToInt32(dadosGeral.Field <object>("tpc_ordem")) == tpc_ordem
                                                          select dadosGeral).CopyToDataTable();
                    xrChart1.Series[series].ArgumentDataMember  = "dis_nome";
                    xrChart1.Series[series].LegendText          = tpc_nome;
                    xrChart1.Series[series].ValueDataMembers[0] = "valor";
                    xrChart1.Series[series].ShowInLegend        = true;

                    if (esa_tipo == 2)
                    {
                        xrChart1.Series[series].LabelsVisibility = DevExpress.Utils.DefaultBoolean.False;
                    }
                    series++;
                }

                if (!addRange)
                {
                    addRange = true;
                    (xrChart1.Diagram as XYDiagram).AxisY.Range.Auto = false;
                    if (esa_tipo == 2)
                    {
                        List <ACA_EscalaAvaliacaoParecer> lstEscala = ACA_EscalaAvaliacaoParecerBO.GetSelectBy_Escala(esa_id);

                        //Calcula valor minimo, maximo e a sobra de 5% para vizualisação dos pontos
                        var     MinValue = lstEscala.Min(p => p.eap_ordem);
                        var     MaxValue = lstEscala.Max(p => p.eap_ordem);
                        decimal sobra    = (MaxValue * (decimal)0.05);

                        //Adiciona range da escala de avaliação.
                        (xrChart1.Diagram as XYDiagram).AxisY.Range.MinValue = MinValue - sobra;
                        (xrChart1.Diagram as XYDiagram).AxisY.Range.MaxValue = MaxValue + sobra;

                        //Adiciona custom labels para as notas de conceito
                        foreach (ACA_EscalaAvaliacaoParecer eap in lstEscala)
                        {
                            CustomAxisLabel label = new CustomAxisLabel();

                            label.AxisValue = eap.eap_ordem;
                            label.Name      = eap.eap_valor;
                            (xrChart1.Diagram as XYDiagram).AxisY.CustomLabels.Add(label);
                        }
                    }
                    else
                    {
                        List <ACA_EscalaAvaliacaoNumerica> lstEscala = ACA_EscalaAvaliacaoNumericaBO.GetSelectBy_Escala(esa_id);

                        //Adiciona range da escala de avaliação.
                        (xrChart1.Diagram as XYDiagram).AxisY.Range.MinValue = 0;
                        (xrChart1.Diagram as XYDiagram).AxisY.Range.MaxValue = 10;

                        (xrChart1.Diagram as XYDiagram).AxisY.CustomLabels.Clear();

                        int index = 0;
                        for (int i = 0; i <= 10; i++)
                        {
                            (xrChart1.Diagram as XYDiagram).AxisY.CustomLabels.Add(new CustomAxisLabel(i.ToString()));
                            (xrChart1.Diagram as XYDiagram).AxisY.CustomLabels[index].AxisValue = i;
                            index++;
                        }
                    }

                    (xrChart1.Diagram as XYDiagram).AxisY.Label.Angle = 0;
                }
            }
        }