Ejemplo n.º 1
0
    private AxisItem findYAxis(int extent_, string yLabelformat_)
    {
      AxisItem ret = null;

      int yAxisCount = 0;

      foreach (AxisItem axis in ultraChart.CompositeChart.ChartAreas[0].Axes)
        if (axis.OrientationType == AxisNumber.Y_Axis)
        {
          ++yAxisCount;
          if (axis.OrientationType == AxisNumber.Y_Axis && axis.Extent == extent_)
          {
            ret = axis;
            break;
          }
        }

      if (ret == null)
      {
        ret = new AxisItem();
        ret.DataType = Infragistics.UltraChart.Shared.Styles.AxisDataType.Numeric;
        ret.Extent = extent_;
        ret.Key = string.Format("axis{0}", ((int)(ultraChart.CompositeChart.ChartAreas[0].Axes.Count + 1)).ToString());
        ret.Labels.HorizontalAlign = System.Drawing.StringAlignment.Near;
        ret.Labels.ItemFormatString = "<DATA_VALUE:##0.##%>";
        ret.Labels.Orientation = Infragistics.UltraChart.Shared.Styles.TextOrientation.Horizontal;
        ret.Labels.SeriesLabels.HorizontalAlign = System.Drawing.StringAlignment.Center;
        ret.Labels.SeriesLabels.Orientation = Infragistics.UltraChart.Shared.Styles.TextOrientation.Horizontal;
        ret.Labels.SeriesLabels.VerticalAlign = System.Drawing.StringAlignment.Center;
        ret.Labels.VerticalAlign = System.Drawing.StringAlignment.Center;
        ret.LineThickness = 1;
        ret.MajorGridLines.AlphaLevel = ((byte)(255));
        ret.MajorGridLines.Color = System.Drawing.Color.Gainsboro;
        ret.MajorGridLines.DrawStyle = Infragistics.UltraChart.Shared.Styles.LineDrawStyle.Dot;
        ret.MajorGridLines.Visible = true;
        ret.MinorGridLines.AlphaLevel = ((byte)(255));
        ret.MinorGridLines.Color = System.Drawing.Color.LightGray;
        ret.MinorGridLines.DrawStyle = Infragistics.UltraChart.Shared.Styles.LineDrawStyle.Dot;
        ret.MinorGridLines.Visible = false;
        ret.OrientationType = Infragistics.UltraChart.Shared.Styles.AxisNumber.Y_Axis;
        ret.SetLabelAxisType = Infragistics.UltraChart.Core.Layers.SetLabelAxisType.GroupBySeries;
        ++yAxisCount;
        ultraChart.CompositeChart.ChartAreas[0].Axes.Add(ret);
      }

      ret.Labels.FontColor = ret.LineColor = ColorAttribute.GetColor(yAxisCount - 1);
      ret.Labels.ItemFormatString = string.Format("<DATA_VALUE:{0}>", yLabelformat_);
      return ret;
    }
Ejemplo n.º 2
0
    private void buildCompareChart(string datestart, string dateEnd)
    {
        RadHtmlChart chartCompare = new RadHtmlChart();

        int boid = 0;
        DataTable dsSource = new DataTable();
        Int32.TryParse(CU.getBOID().ToString(),out boid);
        string sl = "Số lượng";
        string gt = "Giá trị(triệu đồng)";

        chartCompare.Height = Unit.Pixel(500);
        ColumnSeries lineSL = new ColumnSeries();

        dsSource = GetDataChartCompare(boid, datestart, dateEnd);
        chartCompare.DataSource = dsSource;
        chartCompare.DataBind();

        ColumnSeries lineGT = new ColumnSeries();

        lineSL.DataFieldY = "SumQuantity";
        lineSL.Name = sl;
        lineSL.TooltipsAppearance.ClientTemplate = sl;

        lineGT.DataFieldY = "SumValue";
        lineGT.Name = gt;
        lineGT.TooltipsAppearance.ClientTemplate = gt;

        for (int i = 0; i < dsSource.Rows.Count;i++)
        {
            AxisItem axitItem = new AxisItem(dsSource.Rows[i]["productno"].ToString());
            chartCompare.PlotArea.XAxis.Items.Add(axitItem);
        }
        chartCompare.PlotArea.Series.Add(lineSL);

        chartCompare.PlotArea.Series.Add(lineGT);
        chartCompare.ChartTitle.Text = "Biểu đồ so sánh doanh số sản phẩm";
        chartCompare.ChartTitle.Appearance.BackgroundColor = System.Drawing.Color.GreenYellow;
        pl.Controls.Add(chartCompare);
    }
Ejemplo n.º 3
0
        private void ReporteVenta_Cliente(string ID_Vendedor, DateTime fechaInico, DateTime fechaFinal)
        {
            ReporteVentaWCFClient objReporteVentaWCF = new ReporteVentaWCFClient();

            rhcParticipacion.PlotArea.Series[0].Items.Clear();
            try
            {
                #region Venta de productos
                List <gsDocVenta_ReporteVenta_ProductoResult> lstProductos = objReporteVentaWCF.DocVenta_ReporteVenta_Producto(((Usuario_LoginResult)Session["Usuario"]).idEmpresa,
                                                                                                                               ((Usuario_LoginResult)Session["Usuario"]).codigoUsuario, ID_Vendedor, fechaInico, fechaFinal).ToList();

                grdProducto.DataSource = lstProductos;
                grdProducto.DataBind();

                ViewState["lstProductos"] = JsonHelper.JsonSerializer(lstProductos);
                #endregion

                #region Venta al 80% y 20%
                List <gsDocVenta_ReporteVenta_ClienteResult> lst = objReporteVentaWCF.DocVenta_ReporteVenta_Cliente(((Usuario_LoginResult)Session["Usuario"]).idEmpresa,
                                                                                                                    ((Usuario_LoginResult)Session["Usuario"]).codigoUsuario, ID_Vendedor, fechaInico, fechaFinal, null).ToList().OrderByDescending(x => x.ValorVenta).ToList();

                decimal sum = (decimal)lst.Sum(i => i.ValorVenta);
                //decimal sumPlanif = (decimal)lst.Sum(i => i.ValorPlanificado);
                decimal acumulado = 0;
                bool    paso80    = false;

                foreach (var cliente in lst)
                {
                    SeriesItem item = new SeriesItem();
                    if (sum > 0)
                    {
                        if (((int)((cliente.ValorVenta / sum) * 100)) > 0)
                        {
                            item.YValue = ((int)((cliente.ValorVenta / sum) * 100));
                            item.Name   = string.Format("{0}<br/>Valor Venta:${1}K<br/>Presupuesto:${2}K<br/>Avance:{3}%<br/>Participación:{4}%",
                                                        cliente.ID_Cliente + " - " + cliente.Cliente.Replace("'", string.Empty),
                                                        Math.Round((decimal)cliente.ValorVenta / 1000, 2),
                                                        Math.Round((decimal)cliente.ValorPlanificado / 1000, 2),
                                                        cliente.Avance,
                                                        item.YValue);
                            rhcParticipacion.PlotArea.Series[0].Items.Add(item);
                        }
                    }

                    if (cliente.ValorVenta > 0)
                    {
                        acumulado = acumulado + (decimal)cliente.ValorVenta;
                        if (!paso80)
                        {
                            if (cliente.Cliente.Length > 30)
                            {
                                rhcCliente80.PlotArea.XAxis.Items.Add(cliente.Cliente.Substring(0, 30).Replace("'", string.Empty));
                            }
                            else
                            {
                                rhcCliente80.PlotArea.XAxis.Items.Add(cliente.Cliente.Replace("'", string.Empty));
                            }

                            item        = new SeriesItem();
                            item.Name   = cliente.Cliente.Replace("'", string.Empty);
                            item.YValue = Math.Round((decimal)cliente.ValorVenta / 1000, 2);
                            this.rhcCliente80.PlotArea.Series[0].Items.Add(item);

                            item        = new SeriesItem();
                            item.Name   = cliente.Cliente.Replace("'", string.Empty);
                            item.YValue = Math.Round((decimal)cliente.ValorPlanificado / 1000, 2);
                            this.rhcCliente80.PlotArea.Series[1].Items.Add(item);
                        }
                        else
                        {
                            if (cliente.Cliente.Length > 30)
                            {
                                rhcCliente20.PlotArea.XAxis.Items.Add(cliente.Cliente.Substring(0, 30).Replace("'", string.Empty));
                            }
                            else
                            {
                                rhcCliente20.PlotArea.XAxis.Items.Add(cliente.Cliente.Replace("'", string.Empty));
                            }

                            item        = new SeriesItem();
                            item.Name   = cliente.Cliente.Replace("'", string.Empty);
                            item.YValue = Math.Round((decimal)cliente.ValorVenta / 1000, 2);
                            this.rhcCliente20.PlotArea.Series[0].Items.Add(item);

                            item        = new SeriesItem();
                            item.Name   = cliente.Cliente.Replace("'", string.Empty);
                            item.YValue = Math.Round((decimal)cliente.ValorPlanificado / 1000, 2);
                            this.rhcCliente20.PlotArea.Series[1].Items.Add(item);
                        }

                        if (acumulado / sum * 100 >= 80)
                        {
                            paso80 = true;
                        }
                    }
                }
                #endregion

                #region Datos principales
                //Datos principales de la venta
                gsDocVenta_ReporteVenta_VendedorResult rv = objReporteVentaWCF.DocVenta_ReporteVenta_Vendedor(((Usuario_LoginResult)HttpContext.Current.Session["Usuario"]).idEmpresa,
                                                                                                              ((Usuario_LoginResult)HttpContext.Current.Session["Usuario"]).codigoUsuario, ID_Vendedor, fechaInico, fechaFinal).ToList().Single();
                rrgAvance.Pointer.Value = rv.Avance;
                lblPronostico.Text      = string.Format("${0}", Math.Round((decimal)rv.ValorPlanificado, 0).ToString("#,#", CultureInfo.InvariantCulture));
                lblValorVenta.Text      = string.Format("${0}", Math.Round((decimal)rv.ValorVenta, 0).ToString("#,#", CultureInfo.InvariantCulture));
                lblDiferencia.Text      = string.Format("${0}", Math.Round((decimal)rv.Diferencia, 0).ToString("#,#", CultureInfo.InvariantCulture));
                lblAvance.Text          = "Avance: " + Math.Round((decimal)rv.Avance, 0).ToString() + "%";
                lblCantTotal.Text       = lst.Count.ToString();
                lblCantVenta.Text       = lst.FindAll(x => x.ValorVenta > 0).Count.ToString();
                lblCantNoVenta.Text     = lst.FindAll(x => x.ValorVenta <= 0).Count.ToString();
                #endregion

                #region Cliente sin venta
                grdCliente.DataSource = lst.FindAll(x => x.ValorVenta <= 0).OrderByDescending(x => x.ValorPlanificado);
                grdCliente.DataBind();
                #endregion

                #region Venta diaria
                List <gsDocVenta_ReporteVenta_FechaResult> lstFecha = objReporteVentaWCF.DocVenta_ReporteVenta_Fecha(((Usuario_LoginResult)Session["Usuario"]).idEmpresa,
                                                                                                                     ((Usuario_LoginResult)Session["Usuario"]).codigoUsuario, ID_Vendedor, fechaInico, fechaFinal).ToList();

                acumulado = 0;
                for (DateTime day = fechaInico; DateTime.Compare(day, fechaFinal) <= 0; day = day.AddDays(1))
                {
                    AxisItem xitem = new AxisItem();
                    xitem.LabelText = day.ToString("dd/MM/yyyy");
                    rhcDiario.PlotArea.XAxis.Items.Add(xitem);

                    gsDocVenta_ReporteVenta_FechaResult objVFecha = lstFecha.Find(x => x.Fecha == day);
                    SeriesItem serie1 = new SeriesItem();
                    if (objVFecha != null)
                    {
                        acumulado     = acumulado + (decimal)objVFecha.ValorVenta;
                        serie1.YValue = Math.Round((decimal)objVFecha.ValorVenta / 1000, 2);
                    }
                    else
                    {
                        serie1.YValue = 0;
                    }

                    rhcDiario.PlotArea.Series[0].Items.Add(serie1);
                    SeriesItem serie2 = new SeriesItem();
                    serie2.YValue = Math.Round(acumulado / (decimal)rv.ValorPlanificado * 100, 0);
                    rhcDiario.PlotArea.Series[1].Items.Add(serie2);
                }
                //rhcDiario.PlotArea.Series[1].AxisName = "AdditionalAxis";
                #endregion

                lblTitulo.Text = "Reporte " + fechaInico.Year.ToString() + "-" + fechaInico.Month.ToString() + " de " + rv.Vendedor;
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Ejemplo n.º 4
0
    private void addAreas()
    {
      if (ultraChart.CompositeChart.ChartAreas.Count > 2)
        return;

      ultraChart.CompositeChart.ChartAreas.Clear();

      for (int i = 0; i < 12; ++i)
      {
        ChartArea area = new ChartArea();
        AxisItem xAxis = new AxisItem();
        AxisItem yAxis = new AxisItem();
        Months month = (Months)(i + 1);

        xAxis.Key = string.Format("xAxis_{0}", i.ToString());
        xAxis.DataType = Infragistics.UltraChart.Shared.Styles.AxisDataType.String;
        xAxis.Labels.Orientation = Infragistics.UltraChart.Shared.Styles.TextOrientation.VerticalLeftFacing;
        xAxis.Labels.ItemFormat = Infragistics.UltraChart.Shared.Styles.AxisItemLabelFormat.Custom;
        xAxis.Labels.ItemFormatString = "<ITEM_LABEL>";
        xAxis.MajorGridLines.Visible = true;
        xAxis.OrientationType = Infragistics.UltraChart.Shared.Styles.AxisNumber.X_Axis;
        xAxis.SetLabelAxisType = Infragistics.UltraChart.Core.Layers.SetLabelAxisType.GroupBySeries;
        xAxis.Extent = 35;

        yAxis.Key = string.Format("yAxis_{0}", i.ToString());
        yAxis.DataType = Infragistics.UltraChart.Shared.Styles.AxisDataType.Numeric;
        yAxis.Labels.Orientation = Infragistics.UltraChart.Shared.Styles.TextOrientation.Horizontal;
        yAxis.Labels.ItemFormat = Infragistics.UltraChart.Shared.Styles.AxisItemLabelFormat.Custom;
        yAxis.Labels.ItemFormatString="<DATA_VALUE:#,###>";
        yAxis.Labels.Font = new Font(yAxis.Labels.Font.FontFamily, 6.0f);
        yAxis.MajorGridLines.Visible = true;
        yAxis.OrientationType = Infragistics.UltraChart.Shared.Styles.AxisNumber.Y_Axis;
        yAxis.SetLabelAxisType = Infragistics.UltraChart.Core.Layers.SetLabelAxisType.GroupBySeries;
        yAxis.Extent = 18;

        area.Axes.Add(xAxis);
        area.Axes.Add(yAxis);
        area.Key=string.Format("area_{0}",i.ToString());

        int x=i, y=i;

        x = i;
        if (i > 7) x -= 4;
        if (i > 3) x -= 4;


        y = 0;
        if (i > 3) ++y;
        if (i > 7) ++y;

        area.Bounds = new Rectangle(25 * x, 33 * y, 25, 33);
        area.BoundsMeasureType = Infragistics.UltraChart.Shared.Styles.MeasureType.Percentage;

        ultraChart.CompositeChart.ChartAreas.Add(area);

        DataTable d = new DataTable();
        d.Columns.Add("Date", typeof(string));
        d.Columns.Add(string.Format("{0} Perf",month.ToString()), typeof(double));

        NumericSeries ns = new NumericSeries
        {
          Data = {LabelColumn = "Date", ValueColumn = string.Format("{0} Perf", month.ToString())},
          Label = string.Format("{0} value", month.ToString()),
          Key = string.Format("series_{0}", i.ToString())
        };

        ultraChart.CompositeChart.Series.Add(ns);

        ChartLayerAppearance chart = new ChartLayerAppearance
        {
          ChartComponent = ultraChart,
          ChartArea = area,
          AxisX = area.Axes[0],
          AxisY = area.Axes[1],
          ChartType = ChartType.ColumnChart,
          Key = string.Format("chart_{0}", i.ToString())
        };

        ultraChart.CompositeChart.ChartLayers.Add(chart);
        chart.Series.Add(ns);
        ns.Data.DataSource = d;
        chart.SeriesList = string.Format("{0}", ns.Key);
        ns.DataBind();
        ns.PEs.Add(new PaintElement(ColorAttribute.GetColor(i)));

        dts.Add(d);
      }
    }
Ejemplo n.º 5
0
        private void ReporteVenta_Cliente(int periodo, int year, int mes, int id_zona, string id_sectorista)
        {
            int     Periodo;
            int     TotalDias         = 0;
            decimal EsperadoDia       = 0;
            decimal EsperadoAcumulado = 0;


            DateTime fechaInico;
            DateTime fechaFinal;

            fechaInico = Convert.ToDateTime(year + "-" + mes + "-" + "1");
            fechaFinal = fechaInico.AddMonths(1).AddDays(-1);
            TimeSpan ts = fechaFinal - fechaInico;

            TotalDias = ts.Days + 1;

            CobranzasWCFClient objCobranzasWCF = new CobranzasWCFClient();

            //rhcParticipacion.PlotArea.Series[0].Items.Clear();
            try
            {
                #region Venta al 80% y 20%
                List <gsReporteCobranzas_Poryectadas_Vendedor_DetalleResult> lst = objCobranzasWCF.Reporte_CobranzasProyectadasVendedorDetalle(((Usuario_LoginResult)Session["Usuario"]).idEmpresa,
                                                                                                                                               ((Usuario_LoginResult)Session["Usuario"]).codigoUsuario, mes, year, periodo, id_zona, id_sectorista).ToList().OrderByDescending(x => x.ImporteCobrado).ToList();

                decimal sum = (decimal)lst.Sum(i => i.ImporteCobrado);

                decimal acumulado = 0;
                bool    paso80    = false;

                foreach (var cliente in lst)
                {
                    SeriesItem item = new SeriesItem();
                    if (sum > 0)
                    {
                        if (((int)((decimal.Parse(cliente.ImporteCobrado.ToString()) / sum) * 100)) > 0)
                        {
                            item.YValue = ((int)((decimal.Parse(cliente.ImporteCobrado.ToString()) / sum) * 100));
                            item.Name   = string.Format("{0}<br/>Valor Cobrado:${1}K<br/>Proyectado:${2}K<br/>Avance:{3}%<br/>Participación:{4}%",
                                                        cliente.Cliente + " - " + cliente.ImporteCobrado.ToString().Replace("'", string.Empty),
                                                        Math.Round(decimal.Parse(cliente.ImporteCobrado.ToString()) / 1000, 2),
                                                        Math.Round((decimal)cliente.ImporteProyectado / 1000, 2),
                                                        cliente.Avance,
                                                        item.YValue);
                            //rhcParticipacion.PlotArea.Series[0].Items.Add(item);
                        }
                    }

                    if (cliente.ImporteCobrado > 0)
                    {
                        acumulado = acumulado + (decimal)cliente.ImporteCobrado;
                        if (!paso80)
                        {
                            if (cliente.Cliente.Length > 30)
                            {
                                rhcCliente80.PlotArea.XAxis.Items.Add(cliente.Cliente.Substring(0, 30).Replace("'", string.Empty));
                            }
                            else
                            {
                                rhcCliente80.PlotArea.XAxis.Items.Add(cliente.Cliente.Replace("'", string.Empty));
                            }

                            item        = new SeriesItem();
                            item.Name   = cliente.Id_Cliente.Replace("'", string.Empty);
                            item.YValue = Math.Round((decimal)cliente.ImporteCobrado / 1000, 2);
                            this.rhcCliente80.PlotArea.Series[0].Items.Add(item);

                            item        = new SeriesItem();
                            item.Name   = cliente.Cliente.Replace("'", string.Empty);
                            item.YValue = Math.Round((decimal)cliente.ImporteProyectado / 1000, 2);
                            this.rhcCliente80.PlotArea.Series[1].Items.Add(item);
                        }
                        else
                        {
                            if (cliente.Cliente.Length > 30)
                            {
                                rhcCliente20.PlotArea.XAxis.Items.Add(cliente.Cliente.Substring(0, 30).Replace("'", string.Empty));
                            }
                            else
                            {
                                rhcCliente20.PlotArea.XAxis.Items.Add(cliente.Cliente.Replace("'", string.Empty));
                            }

                            item        = new SeriesItem();
                            item.Name   = cliente.Cliente.Replace("'", string.Empty);
                            item.YValue = Math.Round((decimal)(cliente.ImporteCobrado) / 1000, 2);
                            this.rhcCliente20.PlotArea.Series[0].Items.Add(item);

                            item        = new SeriesItem();
                            item.Name   = cliente.Cliente.Replace("'", string.Empty);
                            item.YValue = Math.Round((decimal)cliente.ImporteProyectado / 1000, 2);
                            this.rhcCliente20.PlotArea.Series[1].Items.Add(item);
                        }

                        if (acumulado / sum * 100 >= 80)
                        {
                            paso80 = true;
                        }
                    }
                }
                #endregion

                #region Datos principales
                //Datos principales de la venta
                gsReporteCobranzas_Poryectadas_VendedorResult[] rvP = objCobranzasWCF.Reporte_CobranzasProyectadasVendedor(((Usuario_LoginResult)HttpContext.Current.Session["Usuario"]).idEmpresa,
                                                                                                                           ((Usuario_LoginResult)HttpContext.Current.Session["Usuario"]).codigoUsuario, mes, year, periodo, id_zona, null);
                gsReporteCobranzas_Poryectadas_VendedorResult rv = new gsReporteCobranzas_Poryectadas_VendedorResult();

                if (rvP.Count() > 0)
                {
                    rv = rvP.ToList().Single();

                    rrgAvanceReal.Pointer.Value = decimal.Parse(rv.AvanceCobrado.ToString());
                    lblAvanceReal.Text          = "Avance Real: " + Math.Round((decimal)rv.AvanceCobrado, 0).ToString() + "%";

                    rrgAvanceEsperado.Pointer.Value = decimal.Parse(rv.AvanceEsperado.ToString());
                    lblAvanceEsperado.Text          = "Avance Esperado: " + Math.Round((decimal)rv.AvanceEsperado, 0).ToString() + "%";



                    //- Cuadro de periodos
                    //lblPronostico.Text = string.Format("${0}", Math.Round((decimal)rv.ImporteProyectado, 0).ToString("#,#", CultureInfo.InvariantCulture));
                    //lblValorVenta.Text = string.Format("${0}", Math.Round((decimal)rv.ImporteCobrado, 0).ToString("#,#", CultureInfo.InvariantCulture));
                    //lblDiferencia.Text = string.Format("${0}", Math.Round((decimal)rv.Diferencia, 0).ToString("#,#", CultureInfo.InvariantCulture));
                    //lblCantTotal.Text = lst.Count.ToString();
                    //lblCantVenta.Text = lst.FindAll(x => x.ImporteCobrado > 0).Count.ToString();
                    //lblCantNoVenta.Text = lst.FindAll(x => x.ImporteCobrado <= 0).Count.ToString();
                }



                gsReporteCancelados_ProyectadoResult[] rvCobradoP = objCobranzasWCF.Reporte_CobranzasProyectadas_Sectorista(((Usuario_LoginResult)HttpContext.Current.Session["Usuario"]).idEmpresa,
                                                                                                                            ((Usuario_LoginResult)HttpContext.Current.Session["Usuario"]).codigoUsuario, mes, year, periodo, id_zona, id_sectorista);

                gsReporteCancelados_ProyectadoResult rvCobrado = new gsReporteCancelados_ProyectadoResult();
                if (rvCobradoP.Count() > 0)
                {
                    rvCobrado = rvCobradoP.ToList().Single();

                    //lblVencido01a30.Text = string.Format("${0}", Math.Round((decimal)rvCobrado.Importe_01a30, 0).ToString("#,#", CultureInfo.InvariantCulture));
                    //lblVencido31a60.Text = string.Format("${0}", Math.Round((decimal)rvCobrado.Importe_31a60, 0).ToString("#,#", CultureInfo.InvariantCulture));
                    //lblVencido61a120.Text = string.Format("${0}", Math.Round((decimal)rvCobrado.Importe_61a120, 0).ToString("#,#", CultureInfo.InvariantCulture));
                    //lblVencido121a360.Text = string.Format("${0}", Math.Round((decimal)rvCobrado.Importe_121a360, 0).ToString("#,#", CultureInfo.InvariantCulture));
                    //lblVencido361aMas.Text = string.Format("${0}", Math.Round((decimal)(rvCobrado.Importe_361a720 + rvCobrado.Importe_721amas), 0).ToString("#,#", CultureInfo.InvariantCulture));
                    //lblNoVencido.Text = string.Format("${0}", Math.Round((decimal)rvCobrado.Importe_NoVencido, 0).ToString("#,#", CultureInfo.InvariantCulture));
                }
                else
                {
                    //lblVencido01a30.Text = string.Format("${0}", Math.Round((decimal)0, 0).ToString("#,#", CultureInfo.InvariantCulture));
                    //lblVencido31a60.Text = string.Format("${0}", Math.Round((decimal)0, 0).ToString("#,#", CultureInfo.InvariantCulture));
                    //lblVencido61a120.Text = string.Format("${0}", Math.Round((decimal)0, 0).ToString("#,#", CultureInfo.InvariantCulture));
                    //lblVencido121a360.Text = string.Format("${0}", Math.Round((decimal)0, 0).ToString("#,#", CultureInfo.InvariantCulture));
                    //lblVencido361aMas.Text = string.Format("${0}", Math.Round((decimal)(0), 0).ToString("#,#", CultureInfo.InvariantCulture));
                    //lblNoVencido.Text = string.Format("${0}", Math.Round((decimal)0, 0).ToString("#,#", CultureInfo.InvariantCulture));
                }


                #endregion

                #region Cobro diario
                List <gsReporteCobranzas_Poryectadas_Vendedor_FechaResult> lstFecha = objCobranzasWCF.Reporte_CobranzasProyectadasVendedor_Fecha(((Usuario_LoginResult)Session["Usuario"]).idEmpresa,
                                                                                                                                                 ((Usuario_LoginResult)Session["Usuario"]).codigoUsuario, mes, year, periodo, id_zona, null).ToList();

                acumulado = 0;


                EsperadoDia       = (decimal)rv.ImporteProyectado / TotalDias;
                EsperadoAcumulado = 0;


                for (DateTime day = fechaInico; DateTime.Compare(day, fechaFinal) <= 0; day = day.AddDays(1))
                {
                    AxisItem xitem = new AxisItem();
                    xitem.LabelText = day.ToString("dd/MM/yyyy");
                    rhcDiario.PlotArea.XAxis.Items.Add(xitem);

                    gsReporteCobranzas_Poryectadas_Vendedor_FechaResult objVFecha = lstFecha.Find(x => x.FechaCobranza == day);

                    //Completar linea 1
                    SeriesItem serie1 = new SeriesItem();
                    if (objVFecha != null)
                    {
                        acumulado     = acumulado + (decimal)objVFecha.ImporteCobrado;
                        serie1.YValue = Math.Round((decimal)objVFecha.ImporteCobrado / 1000, 2);
                    }
                    else
                    {
                        serie1.YValue = 0;
                    }
                    rhcDiario.PlotArea.Series[0].Items.Add(serie1);

                    //Completar linea 2
                    SeriesItem serie2 = new SeriesItem();
                    if (rv.ImporteProyectado == 0)
                    {
                        serie2.YValue = Math.Round(acumulado / 100 * 100, 0);
                    }
                    else
                    {
                        serie2.YValue = Math.Round(acumulado / (decimal)rv.ImporteProyectado * 100, 0);
                    }
                    rhcDiario.PlotArea.Series[1].Items.Add(serie2);

                    //Completar linea 3
                    SeriesItem serie3 = new SeriesItem();
                    EsperadoAcumulado = EsperadoAcumulado + EsperadoDia;
                    //serie3.YValue = Math.Round((decimal)EsperadoAcumulado / 1000, 2);

                    if (rv.ImporteProyectado == 0)
                    {
                        serie2.YValue = Math.Round((decimal)EsperadoAcumulado / 100 * 100, 0);
                    }
                    else
                    {
                        serie3.YValue = Math.Round((decimal)EsperadoAcumulado / (decimal)rv.ImporteProyectado * 100, 0);
                    }
                    rhcDiario.PlotArea.Series[2].Items.Add(serie3);
                }

                rhcDiario.PlotArea.Series[1].AxisName = "AdditionalAxis";
                rhcDiario.PlotArea.Series[2].AxisName = "AdditionalAxis";
                #endregion

                lblTitulo.Text = "Reporte " + year.ToString() + "-" + mes.ToString() + " de " + rv.Zona_nombre;
            }
            catch (Exception ex) {
                throw ex;
            }
        }
Ejemplo n.º 6
0
        private void BindChartData()
        {
            try
            {
                if (Session["LegendA"] != null)
                {
                    //   lblLegend.Text = "Cashflow for " + Session["LegendA"].ToString();
                    // Session.Remove("Legend");
                }
                if (Session["LegendB"] != null)
                {
                    //if (lblLegend.Text.Length == 0)
                    //    lblLegend.Text = "Cashflow for " + Session["LegendB"].ToString();
                    //else
                    //    lblLegend.Text = lblLegend.Text + "And " + Session["LegendB"].ToString();
                }
                if (Session["LegendC"] != null)
                {
                    //if (lblLegend.Text.Length == 0)
                    //    lblLegend.Text = "Cashflow for " + Session["LegendC"].ToString();
                    //else
                    //    lblLegend.Text = lblLegend.Text + "And " + Session["LegendC"].ToString();
                }

                DataTable dt = new DataTable();

                dt.Columns.Add("ID");
                dt.Columns.Add("EndDate");
                dt.Columns.Add("Notation");

                if (Session["LegendA"] != null)
                {
                    dt = GetCompactChartData(Session["LegendA"].ToString());
                    if (dt != null && dt.Rows.Count > 0)
                    {
                        //        RadHtmlChart1.HttpHandlerUrl = ResolveUrl("ChartImage.axd");

                        AreaSeries chartLoanA = new AreaSeries();

                        chartLoanA.Name = Session["LegendA"].ToString();

                        object maxDate = dt.Compute("MAX(EndDate)", null);
                        // chartLoanA.PlotArea.XAxis.MaxValue = Convert.ToDouble(Convert.ToDateTime(maxDate).ToOADate());

                        for (int i = 0; i < dt.Rows.Count; i++)
                        {
                            var dr = (dt.Rows[i]).ItemArray;
                            SeriesItem item = new SeriesItem();

                            if (dr[1] != null && dr[2] != null)
                            {
                                CategorySeriesItem seriesItem = new CategorySeriesItem();
                                //item.ActiveRegion.Tooltip = "On Date" + Convert.ToDateTime(dr[1]) + "Fraction Value is" + Convert.ToDouble(dr[2]);
                                AxisItem axisItem = new AxisItem();
                                DateTime date = Convert.ToDateTime(dr[1]);
                                item.XValue = date.Ticks;
                                //axisItem.LabelText =
                                //RadHtmlChart1.PlotArea.XAxis.LabelsAppearance.RotationAngle = 60;
                                string month = date.Date.Month.ToString();
                                if (month.Length == 1)
                                {
                                    month = "0" + month;
                                }

                                string str = month + date.Date.Year.ToString();
                                RadHtmlChart1.PlotArea.XAxis.Items.Add(str);
                                item.YValue = Convert.ToDecimal(dr[2].ToString());
                                //chartLoanA.Items.Add(item);
                                seriesItem.Y = Convert.ToDecimal(dr[2].ToString());
                                chartLoanA.SeriesItems.Add(seriesItem);

                            }

                        }

                        chartLoanA.LabelsAppearance.Visible = false;
                        chartLoanA.LineAppearance.LineStyle = ExtendedLineStyle.Step;
                        RadHtmlChart1.PlotArea.Series.Add(chartLoanA);

                    }
                }

                if (Session["LegendB"] != null)
                {
                    dt = GetCompactChartData(Session["LegendB"].ToString());
                    if (dt != null && dt.Rows.Count > 0)
                    {

                        AreaSeries chartLoanB = new AreaSeries();

                        chartLoanB.Name = Session["LegendB"].ToString();

                        for (int i = 0; i < dt.Rows.Count; i++)
                        {
                            var dr = (dt.Rows[i]).ItemArray;
                            SeriesItem item = new SeriesItem();

                            if (dr[1] != null && dr[2] != null)
                            {
                                CategorySeriesItem seriesItem = new CategorySeriesItem();
                                DateTime date = Convert.ToDateTime(dr[1]);
                                //item.XValue = date.ToOADate();
                                //item.YValue = Convert.ToDouble(dr[2]);
                                item.YValue = Convert.ToDecimal(dr[2].ToString());
                                //chartLoanA.Items.Add(item);
                                string month = date.Date.Month.ToString();
                                if (month.Length == 1)
                                {
                                    month = "0" + month;
                                }

                                string str = month + date.Date.Year.ToString();
                                RadHtmlChart1.PlotArea.XAxis.Items.Add(str);
                                seriesItem.Y = Convert.ToDecimal(dr[2].ToString());
                                chartLoanB.SeriesItems.Add(seriesItem);
                            }

                        }
                        chartLoanB.LabelsAppearance.Visible = false;
                        chartLoanB.LineAppearance.LineStyle = ExtendedLineStyle.Step;
                        RadHtmlChart1.PlotArea.Series.Add(chartLoanB);
                    }
                }

                if (Session["LegendC"] != null)
                {
                    dt = GetCompactChartData(Session["LegendC"].ToString());
                    if (dt != null && dt.Rows.Count > 0)
                    {
                        AreaSeries chartLoanC = new AreaSeries();

                        chartLoanC.Name = Session["LegendC"].ToString();

                        for (int i = 0; i < dt.Rows.Count; i++)
                        {
                            var dr = (dt.Rows[i]).ItemArray;
                            SeriesItem item = new SeriesItem();
                            if (dr[1] != null && dr[2] != null)
                            {
                                CategorySeriesItem seriesItem = new CategorySeriesItem();
                                DateTime date = Convert.ToDateTime(dr[1]);
                                //item.XValue = date.ToOADate();
                                //item.YValue = Convert.ToDouble(dr[2]);
                                item.YValue = Convert.ToDecimal(dr[2].ToString());
                                //chartLoanA.Items.Add(item);
                                string month = date.Date.Month.ToString();
                                if (month.Length == 1)
                                {
                                    month = "0" + month;
                                }

                                string str = month + date.Date.Year.ToString();
                                RadHtmlChart1.PlotArea.XAxis.Items.Add(str);
                                seriesItem.Y = Convert.ToDecimal(dr[2].ToString());
                                chartLoanC.SeriesItems.Add(seriesItem);

                            }
                        }

                        chartLoanC.LabelsAppearance.Visible = false;
                        chartLoanC.LineAppearance.LineStyle = ExtendedLineStyle.Step;
                        RadHtmlChart1.PlotArea.Series.Add(chartLoanC);
                    }
                }
            }
            //RadHtmlChart1.DataSource = GetData();
            //RadHtmlChart1.DataBind();
            // tempCalculatedList = null;

            catch (Exception)
            {

            }
        }
    public void Create(ConstructGen<double> wts_, FXGroup[] groups_)
    {
      ConstructGen<double> groupConv = new ConstructGen<double>(groups_.Length);
      groupConv.ColumnHeadings = groups_.Select(x => x.ToString()).ToArray();
      Currency[] ccys = wts_.ColumnHeadings.Select(x => Singleton<FXIDs>.Instance[x]).ToArray();

      List<int[]> indicies =new List<int[]>();

      foreach(FXGroup group in groups_)
      {
        List<int> groupIndicies=new List<int>();
        for(int i=0;i<ccys.Length;++i)
          if(ccys[i].IsGroup(group))
            groupIndicies.Add(i);
        
        indicies.Add(groupIndicies.ToArray());
      }

      foreach (DateTime date in wts_.Dates)
      {
        double[] dateWeights = wts_.GetValues(date);
        double[] buckets = new double[groups_.Length];

        for(int g=0;g<groups_.Length;++g)
          foreach (int index in indicies[g])
            buckets[g] += dateWeights[index];

        groupConv.SetValues(date, buckets);
      }

      DataTable dt1 = groupConv.ToDataTable(groupConv.ColumnHeadings, "Date", "dd-MMM-yyyy");

      Chart.ChartType = Infragistics.UltraChart.Shared.Styles.ChartType.Composite;

      ChartArea area = new ChartArea();
      Chart.CompositeChart.ChartAreas.Add(area);

      AxisItem axisY = new AxisItem();
      axisY.Extent = 50;
      axisY.DataType = AxisDataType.Numeric;
      axisY.OrientationType = AxisNumber.Y_Axis;
      axisY.LineColor = Color.Blue;
      axisY.Labels.Visible = true;
      area.Axes.Add(axisY);

      AxisItem axisX = new AxisItem();
      axisX.DataType = AxisDataType.String;
      axisX.Extent = 80;
      axisX.SetLabelAxisType = Infragistics.UltraChart.Core.Layers.SetLabelAxisType.GroupBySeries;
      axisX.OrientationType = AxisNumber.X_Axis;
      axisX.LineColor = Color.Blue;
      axisX.Labels.Orientation = TextOrientation.VerticalLeftFacing;
      axisX.Labels.SeriesLabels.Orientation = TextOrientation.VerticalLeftFacing;
      area.Axes.Add(axisX);

      AxisItem axisX2 = new AxisItem();
      axisX2.DataType = AxisDataType.String;
      axisX2.Extent = 80;
      axisX2.OrientationType = AxisNumber.X_Axis;
      axisX2.LineColor = Color.Blue;
      axisX2.Labels.Orientation = TextOrientation.VerticalLeftFacing;
      axisX2.Labels.SeriesLabels.Orientation = TextOrientation.VerticalLeftFacing;
      axisX2.SetLabelAxisType = SetLabelAxisType.ContinuousData;
      area.Axes.Add(axisX2);

      ChartLayerAppearance myColumnLayer = new ChartLayerAppearance();
      myColumnLayer.ChartType = ChartType.StackColumnChart;
      myColumnLayer.ChartArea = area;

      foreach (FXGroup group in groups_)
      {
        NumericSeries series1 = new NumericSeries();
        series1.Key = group.ToString();
        series1.DataBind(dt1, group.ToString(), "Date");
        series1.PEs.Add(new PaintElement(ColorAttribute.GetAttribute(group).Color));
        myColumnLayer.Series.Add(series1);
        Chart.CompositeChart.Series.Add(series1);
      }

      DataTable dt2 = wts_.SumRows().ToDataTable(format_:"dd-MMM-yyyy");

      ChartLayerAppearance myColumnLayer2 = new ChartLayerAppearance();
      myColumnLayer2.ChartType = ChartType.LineChart;
      myColumnLayer2.ChartArea = area;

      NumericSeries seriesA = new NumericSeries();
      seriesA.Key = "Sum of Wts";
      seriesA.DataBind(dt2, "Value", "Date");
      seriesA.PEs.Add(new PaintElement(Color.Orange));
      myColumnLayer2.Series.Add(seriesA);
      Chart.CompositeChart.Series.Add(seriesA);


      LineChartAppearance la = new LineChartAppearance();
      la.Thickness = 4;
      myColumnLayer2.ChartTypeAppearance = la;


      myColumnLayer.AxisX = axisX;
      myColumnLayer.AxisY = axisY;

      myColumnLayer2.AxisX = axisX2;
      myColumnLayer2.AxisY = axisY;

      myColumnLayer.SwapRowsAndColumns = true;
      this.Chart.CompositeChart.ChartLayers.Add(myColumnLayer);
      this.Chart.CompositeChart.ChartLayers.Add(myColumnLayer2);

      EstablishDefaultTooltip();
      m_wts = wts_;
      m_groups = groups_;
      pbSplitIntoYears.BringToFront();
    }
Ejemplo n.º 8
0
 /// <summary> 
 /// 设计器支持所需的方法 - 不要
 /// 使用代码编辑器修改此方法的内容。
 /// </summary>
 private void InitializeComponent()
 {
     this.axisItem3 = new Contra.AxisItem();
     this.axisItem6 = new Contra.AxisItem();
     this.axisItem5 = new Contra.AxisItem();
     this.axisItem4 = new Contra.AxisItem();
     this.axisItem2 = new Contra.AxisItem();
     this.axisItem1 = new Contra.AxisItem();
     this.SuspendLayout();
     //
     // axisItem3
     //
     this.axisItem3.Axis = "W";
     this.axisItem3.AxisText = "W";
     this.axisItem3.BackColor = System.Drawing.SystemColors.Control;
     this.axisItem3.Dock = System.Windows.Forms.DockStyle.Top;
     this.axisItem3.Highlight = false;
     this.axisItem3.Location = new System.Drawing.Point(0, 210);
     this.axisItem3.Name = "axisItem3";
     this.axisItem3.ShowSmallTitle = false;
     this.axisItem3.Size = new System.Drawing.Size(429, 70);
     this.axisItem3.TabIndex = 2;
     this.axisItem3.ValueActual = new decimal(new int[] {
     0,
     0,
     0,
     0});
     this.axisItem3.ValueLogic = new decimal(new int[] {
     0,
     0,
     0,
     0});
     //
     // axisItem6
     //
     this.axisItem6.Axis = "Z";
     this.axisItem6.AxisText = "Z";
     this.axisItem6.BackColor = System.Drawing.SystemColors.Control;
     this.axisItem6.Dock = System.Windows.Forms.DockStyle.Top;
     this.axisItem6.Highlight = false;
     this.axisItem6.Location = new System.Drawing.Point(0, 140);
     this.axisItem6.Name = "axisItem6";
     this.axisItem6.ShowSmallTitle = false;
     this.axisItem6.Size = new System.Drawing.Size(429, 70);
     this.axisItem6.TabIndex = 5;
     this.axisItem6.ValueActual = new decimal(new int[] {
     0,
     0,
     0,
     0});
     this.axisItem6.ValueLogic = new decimal(new int[] {
     0,
     0,
     0,
     0});
     //
     // axisItem5
     //
     this.axisItem5.Axis = "C";
     this.axisItem5.AxisText = "C";
     this.axisItem5.BackColor = System.Drawing.SystemColors.Control;
     this.axisItem5.Dock = System.Windows.Forms.DockStyle.Top;
     this.axisItem5.Highlight = false;
     this.axisItem5.Location = new System.Drawing.Point(0, 350);
     this.axisItem5.Name = "axisItem5";
     this.axisItem5.ShowSmallTitle = false;
     this.axisItem5.Size = new System.Drawing.Size(429, 70);
     this.axisItem5.TabIndex = 4;
     this.axisItem5.ValueActual = new decimal(new int[] {
     0,
     0,
     0,
     0});
     this.axisItem5.ValueLogic = new decimal(new int[] {
     0,
     0,
     0,
     0});
     //
     // axisItem4
     //
     this.axisItem4.Axis = "B";
     this.axisItem4.AxisText = "B";
     this.axisItem4.BackColor = System.Drawing.SystemColors.Control;
     this.axisItem4.Dock = System.Windows.Forms.DockStyle.Top;
     this.axisItem4.Highlight = false;
     this.axisItem4.Location = new System.Drawing.Point(0, 280);
     this.axisItem4.Name = "axisItem4";
     this.axisItem4.ShowSmallTitle = false;
     this.axisItem4.Size = new System.Drawing.Size(429, 70);
     this.axisItem4.TabIndex = 3;
     this.axisItem4.ValueActual = new decimal(new int[] {
     0,
     0,
     0,
     0});
     this.axisItem4.ValueLogic = new decimal(new int[] {
     0,
     0,
     0,
     0});
     //
     // axisItem2
     //
     this.axisItem2.Axis = "Y";
     this.axisItem2.AxisText = "Y";
     this.axisItem2.BackColor = System.Drawing.SystemColors.Control;
     this.axisItem2.Dock = System.Windows.Forms.DockStyle.Top;
     this.axisItem2.Highlight = false;
     this.axisItem2.Location = new System.Drawing.Point(0, 70);
     this.axisItem2.Name = "axisItem2";
     this.axisItem2.ShowSmallTitle = false;
     this.axisItem2.Size = new System.Drawing.Size(429, 70);
     this.axisItem2.TabIndex = 1;
     this.axisItem2.ValueActual = new decimal(new int[] {
     0,
     0,
     0,
     0});
     this.axisItem2.ValueLogic = new decimal(new int[] {
     0,
     0,
     0,
     0});
     //
     // axisItem1
     //
     this.axisItem1.Axis = "X";
     this.axisItem1.AxisText = "X";
     this.axisItem1.BackColor = System.Drawing.SystemColors.Control;
     this.axisItem1.Dock = System.Windows.Forms.DockStyle.Top;
     this.axisItem1.Highlight = false;
     this.axisItem1.Location = new System.Drawing.Point(0, 0);
     this.axisItem1.Name = "axisItem1";
     this.axisItem1.ShowSmallTitle = false;
     this.axisItem1.Size = new System.Drawing.Size(429, 70);
     this.axisItem1.TabIndex = 0;
     this.axisItem1.ValueActual = new decimal(new int[] {
     0,
     0,
     0,
     0});
     this.axisItem1.ValueLogic = new decimal(new int[] {
     0,
     0,
     0,
     0});
     //
     // AxisControl
     //
     this.Controls.Add(this.axisItem5);
     this.Controls.Add(this.axisItem4);
     this.Controls.Add(this.axisItem3);
     this.Controls.Add(this.axisItem6);
     this.Controls.Add(this.axisItem2);
     this.Controls.Add(this.axisItem1);
     this.Name = "AxisControl";
     this.Size = new System.Drawing.Size(429, 480);
     this.ResumeLayout(false);
 }
Ejemplo n.º 9
0
    private void addAreas()
    {

      if (ultraChart.CompositeChart.ChartAreas.Count > 2)
        return;

      ultraChart.CompositeChart.ChartAreas.Clear();

      int areaWidth = (int)100 / m_cols;
      int areaHeight = (int)100 / m_rows;

      for (int i = 0; i < m_data.Count(); ++i)
      {
        Label l = new Label();
        l.Font = new Font("Tahoma", 5.75F, FontStyle.Regular);
        l.Text = m_data[i].Item1;
        l.ForeColor = Color.White;
        Controls.Add(l);
        l.BringToFront();
        l.BackColor = Color.White;
        l.AutoSize = true;
        lbls.Add(l);

        ChartArea area = new ChartArea();
        AxisItem xAxis = new AxisItem();
        AxisItem yAxis = new AxisItem();

        xAxis.Key = string.Format("xAxis_{0}", i.ToString());
        xAxis.DataType = Infragistics.UltraChart.Shared.Styles.AxisDataType.Time;
        xAxis.Labels.Orientation = Infragistics.UltraChart.Shared.Styles.TextOrientation.VerticalLeftFacing;
        xAxis.Labels.ItemFormat = Infragistics.UltraChart.Shared.Styles.AxisItemLabelFormat.Custom;
        xAxis.Labels.ItemFormatString = string.Format("<ITEM_LABEL:{0}>",m_xAxisLabelFormatString);
        xAxis.Labels.Font = new Font("Tahoma", 5.75F);
        xAxis.MajorGridLines.Visible = true;
        xAxis.OrientationType = Infragistics.UltraChart.Shared.Styles.AxisNumber.X_Axis;
        xAxis.SetLabelAxisType = Infragistics.UltraChart.Core.Layers.SetLabelAxisType.GroupBySeries;
        xAxis.Extent = 20;

        yAxis.Key = string.Format("yAxis_{0}", i.ToString());
        yAxis.DataType = Infragistics.UltraChart.Shared.Styles.AxisDataType.Numeric;
        yAxis.Labels.Orientation = Infragistics.UltraChart.Shared.Styles.TextOrientation.Horizontal;
        yAxis.Labels.ItemFormat = Infragistics.UltraChart.Shared.Styles.AxisItemLabelFormat.Custom;
        yAxis.Labels.HorizontalAlign = StringAlignment.Near;
        yAxis.Labels.Font = new Font("Tahoma", 5.75F);
        yAxis.Labels.ItemFormatString = string.Format("<DATA_VALUE:{0}>", m_yAxisLabelFormatString);
        yAxis.MajorGridLines.Visible = true;
        yAxis.OrientationType = Infragistics.UltraChart.Shared.Styles.AxisNumber.Y_Axis;
        yAxis.SetLabelAxisType = Infragistics.UltraChart.Core.Layers.SetLabelAxisType.GroupBySeries;
        yAxis.Extent = 15;

        area.Axes.Add(xAxis);
        area.Axes.Add(yAxis);
        area.Key = string.Format("area_{0}", i.ToString());

        int x = i, y = 0;

        while (x > (m_cols-1))
        {
          ++y;
          x -= m_cols;
        }

        area.Bounds = new Rectangle(areaWidth * x, areaHeight * y, areaWidth, areaHeight);
        area.BoundsMeasureType = Infragistics.UltraChart.Shared.Styles.MeasureType.Percentage;

        ultraChart.CompositeChart.ChartAreas.Add(area);

        for (int j = 0; j < 1; ++j)
        {
          DataTable d = new DataTable();
          d.Columns.Add("Date", typeof(DateTime));
          d.Columns.Add("Px", typeof(double));

          NumericTimeSeries ns = new NumericTimeSeries();
          ns.Data.TimeValueColumn = "Date";
          ns.Data.ValueColumn = "Px";
          ns.Key = string.Format("series_{0}_{1}", i.ToString(), j.ToString());
          ultraChart.CompositeChart.Series.Add(ns);

          ChartLayerAppearance chart = new ChartLayerAppearance();
          chart.ChartComponent = ultraChart;
          chart.ChartArea = area;
          chart.AxisX = area.Axes[0];
          chart.AxisY = area.Axes[1];
          chart.ChartType = ChartType.LineChart;
          chart.Key = string.Format("chart_{0}_{1}", i.ToString(), j.ToString());

          LineChartAppearance lca = (LineChartAppearance)chart.ChartTypeAppearance;
          lca.Thickness = 1;
          lca.MidPointAnchors = false;
          lca.EndStyle = LineCapStyle.NoAnchor;

          ultraChart.CompositeChart.ChartLayers.Add(chart);
          chart.Series.Add(ns);
          ns.Data.DataSource = d;
          chart.SeriesList = ns.Key;
          ns.DataBind();
          ns.PEs.Add(new PaintElement(Color.LightGray));

          dts.Add(d);
        }
      }

    }
Ejemplo n.º 10
0
        private void AlimentaGraficos()
        {
            //http://help.infragistics.com/Help/Doc/WinForms/2012.1/CLR2.0/html/Chart_Creating_a_Composite_Chart_in_Code_Part_1_of_2.html
            //http://help.infragistics.com/Help/Doc/WinForms/2012.1/CLR2.0/html/Chart_Creating_a_Composite_Chart_in_Code_Part_2_of_2.html

            //Aqui define o tipo de gráfico que será realizado.
            //https://www.infragistics.com/help/winforms/chart-2d-charts
            this.ultraChart1.ChartType = ChartType.Composite;

            ChartArea myChartArea = new ChartArea();

            this.ultraChart1.CompositeChart.ChartAreas.Add(myChartArea);

            AxisItem axisX = new AxisItem();

            axisX.OrientationType         = AxisNumber.X_Axis;
            axisX.DataType                = AxisDataType.String;
            axisX.SetLabelAxisType        = Infragistics.UltraChart.Core.Layers.SetLabelAxisType.GroupBySeries;
            axisX.Labels.ItemFormatString = "<ITEM_LABEL>";
            axisX.Labels.Orientation      = TextOrientation.VerticalLeftFacing;

            AxisItem axisY = new AxisItem();

            axisY.OrientationType         = AxisNumber.Y_Axis;
            axisY.DataType                = AxisDataType.Numeric;
            axisY.Labels.ItemFormatString = "<DATA_VALUE:0.#>";

            //Adiciona os gráficos
            myChartArea.Axes.Add(axisX);
            myChartArea.Axes.Add(axisY);

            //Adiciona as séries na interface
            NumericSeries seriesA = GetNumericSeriesBound();
            NumericSeries seriesB = GetNumericSeriesUnBound();

            this.ultraChart1.CompositeChart.Series.Add(seriesA);
            this.ultraChart1.CompositeChart.Series.Add(seriesB);

            //Cria a aparência das colunas
            ChartLayerAppearance myColumnLayer = new ChartLayerAppearance();

            myColumnLayer.ChartType = ChartType.ColumnChart;
            myColumnLayer.ChartArea = myChartArea;
            myColumnLayer.AxisX     = axisX;
            myColumnLayer.AxisY     = axisY;
            myColumnLayer.Series.Add(seriesA);
            myColumnLayer.Series.Add(seriesB);
            this.ultraChart1.CompositeChart.ChartLayers.Add(myColumnLayer);

            //Cria a legenda
            CompositeLegend myLegend = new CompositeLegend();

            myLegend.ChartLayers.Add(myColumnLayer);
            myLegend.Bounds               = new Rectangle(0, 75, 20, 25);
            myLegend.BoundsMeasureType    = MeasureType.Percentage;
            myLegend.PE.ElementType       = PaintElementType.Gradient;
            myLegend.PE.FillGradientStyle = GradientStyle.ForwardDiagonal;
            myLegend.PE.Fill              = Color.CornflowerBlue;
            myLegend.PE.FillStopColor     = Color.Transparent;
            myLegend.Border.CornerRadius  = 10;
            myLegend.Border.Thickness     = 0;
            this.ultraChart1.CompositeChart.Legends.Add(myLegend);
        }
Ejemplo n.º 11
0
        private void ultraChart1_Load(object sender, EventArgs e)
        {
            this.ultraChart1.Tooltips.HighlightDataPoint = false;

            ultraChart1.ChartType = ChartType.Composite;
            ultraChart1.Data.ZeroAligned = true;

            ChartArea myChartArea = new ChartArea();
            this.ultraChart1.CompositeChart.ChartAreas.Add(myChartArea);

            AxisItem axisX = new AxisItem();
            AxisItem axisY = new AxisItem();

            //Line
            axisX.OrientationType = AxisNumber.X_Axis;
            axisX.DataType = AxisDataType.String;
            axisX.SetLabelAxisType = SetLabelAxisType.ContinuousData;
            axisX.Labels.ItemFormatString = "<ITEM_LABEL:M/d>";
            //axisX.Labels.ItemFormatString = "< MY_VALUE >";
            
            axisX.Labels.Orientation = TextOrientation.VerticalLeftFacing;
            axisX.Labels.Layout.Behavior = AxisLabelLayoutBehaviors.None;
            axisX.LineThickness = 1;
            //axisX.Extent = 40;
            axisX.Labels.Visible = true;
            axisX.Labels.Font = ultraChart1.Axis.X.Labels.SeriesLabels.Font;
            axisX.Labels.FontColor = ultraChart1.Axis.X.Labels.SeriesLabels.FontColor;
            //axisX.ScrollScale.Visible = true;

            axisY.OrientationType = AxisNumber.Y_Axis;
            axisY.Labels.HorizontalAlign = StringAlignment.Far;
            axisY.DataType = AxisDataType.Numeric;
            axisY.Labels.ItemFormatString = "<DATA_VALUE:##.#>";
            //axisY.Labels.ItemFormatString = "< MY_VALUE >";
            
            axisY.TickmarkStyle = AxisTickStyle.Smart;
            axisY.LineThickness = 1;
            //axisY.Extent = 10;
            axisY.RangeType = AxisRangeType.Custom;
            axisY.RangeMin = 0;
            axisY.RangeMax = 600;
            axisY.Labels.Font = ultraChart1.Axis.Y.Labels.Font;
            axisY.Labels.FontColor = ultraChart1.Axis.Y.Labels.FontColor;

            myChartArea.Axes.Add(axisX);
            myChartArea.Axes.Add(axisY);
            
            ChartLayerAppearance myLineLayer1 = new ChartLayerAppearance();
            myLineLayer1.ChartType = ChartType.LineChart;
            myLineLayer1.ChartArea = myChartArea;
            myLineLayer1.AxisX = axisX;
            myLineLayer1.AxisY = axisY;

            ((LineChartAppearance)myLineLayer1.ChartTypeAppearance).Thickness = 1;


            DataTable table = new DataTable();
            table = GetLineData();
            for (int iC = 0; iC < table.Columns.Count - 1; iC++)
            {
                NumericSeries series = new NumericSeries();
                series.Data.DataSource = table;
                series.Data.LabelColumn = table.Columns[0].Caption.ToString();
                series.Data.ValueColumn = table.Columns[iC + 1].Caption.ToString();
                series.Label = table.Columns[iC + 1].Caption.ToString();
                series.DataBind();

                myLineLayer1.Series.Add(series);
            }

            ultraChart1.CompositeChart.ChartLayers.Add(myLineLayer1);

            ultraChart1.Tooltips.Format = TooltipStyle.DataValue;
            //ultraChart1.Tooltips.FormatString = "<DATA_VALUE:0> <ITEM_LABEL> <SERIES_LABEL>";
            ultraChart1.Tooltips.FormatString = "<DATA_VALUE>";


            CompositeLegend myLegend = new CompositeLegend();
            myLegend.ChartLayers.Add(myLineLayer1);
            myLegend.Bounds = new Rectangle(0, 1, 10, 50);
            myLegend.BoundsMeasureType = MeasureType.Percentage;
            myLegend.PE.ElementType = PaintElementType.None;
            myLegend.PE.FillGradientStyle = GradientStyle.ForwardDiagonal;
            myLegend.PE.FillStopColor = Color.Transparent;
            myLegend.Border.CornerRadius = 0;
            myLegend.Border.Thickness = 2;
            
            ultraChart1.CompositeChart.Legends.Add(myLegend);

            Hashtable MyLabelHashTable = new Hashtable();
            MyLabelHashTable.Add("MY_VALUE", new MyLabelRenderer());
            this.ultraChart1.LabelHash = MyLabelHashTable;
            this.ultraChart1.Tooltips.Format = TooltipStyle.Custom;
            this.ultraChart1.Tooltips.FormatString = "<MY_VALUE>";
            this.ultraChart1.Tooltips.Overflow = TooltipOverflow.ChartArea;
        }