コード例 #1
0
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            //RadPivotGrid1.OlapSettings.XmlaConnectionSettings.Encoding = System.Text.Encoding.UTF8;
            RadDateFrom.SelectedDate = DateTime.Now;
            RadDateTo.SelectedDate   = DateTime.Now;
            LoadDataForRadGrid1();
            RadGrid1.DataBind();
            foreach (GridDataItem item in RadGrid1.MasterTableView.Items)
            {
                RadHtmlChart chart = item["ChartColumn"].FindControl("RadHtmlChart1") as RadHtmlChart;
                SqlDataSource2.SelectParameters[0].DefaultValue = item.GetDataKeyValue("customer").ToString();
                chart.DataSource = SqlDataSource2.Select(DataSourceSelectArguments.Empty);
                chart.DataBind();

                //for (int i = 0; i < 2; i++)
                //{
                //    BarSeries bs = new BarSeries();
                //        bs.Appearance.FillStyle.BackgroundColor = Staticcolor.StaticColor.GetColor(i);
                //        chart.PlotArea.Series.Add(bs);
                //        for (int j = 1; j < 2; j++)
                //        {
                //            CategorySeriesItem si = new CategorySeriesItem();
                //            si.Y = j;
                //            bs.SeriesItems.Add(si);
                //        }
                //    }
            }
        }
    }
コード例 #2
0
ファイル: Chart.ascx.cs プロジェクト: trantrung2608/ilinkbay
    public Modules_HOME_Chart(string setting)
    {
        RadHtmlChart ctrl = new RadHtmlChart();
        _chart = ctrl;
        //xu ly json lay ra datatable gom 3 cot : propertiesName, properties Type, propertiesValue
        DataTable dtSettings = JsonConvert.DeserializeObject<DataTable>(setting);
        for (int i = 0; i < dtSettings.Rows.Count; i++)
        {
            string propName = dtSettings.Rows[i]["name"].ToString();
            string propType = dtSettings.Rows[i]["type"].ToString();
            string propValue = dtSettings.Rows[i]["val"].ToString();
            object CurrentValue=null;
            switch (propType)
            {
                case "number":
                    CurrentValue = double.Parse(propValue);
                    break;
                case "string":
                    CurrentValue = propValue;
                    break;
                case "data":
                    CurrentValue = JsonConvert.DeserializeObject<DataTable>(propValue);
                    break;

                default:
                    break;
            }

            setProperties(propName, CurrentValue);

        }
    }
コード例 #3
0
        protected void rgRecordTypes_ItemDataBound(object sender, GridItemEventArgs e)
        {
            if (e.Item.ItemType == GridItemType.Item || e.Item.ItemType == GridItemType.AlternatingItem)
            {
                GridDataItem item            = e.Item as GridDataItem;
                RadHtmlChart progressChart   = item["ProgressChartColumn"].FindControl("rhcProgress") as RadHtmlChart;
                int          record_type_id  = Convert.ToInt32(item.GetDataKeyValue("record_type_id"));
                DateTime     date15MonthsAgo = DateTime.Now.AddMonths(-15);

                RecordProgressItem rpi = new RecordProgressItem();
                var countsByRecordType = db.SP_RMS_Audit_Progress_by_recordtype(record_type_id, date15MonthsAgo).FirstOrDefault();

                //Progress Chart Data
                rpi.TotalRecords         = (int)countsByRecordType.total_sites;
                rpi.Audited              = (int)countsByRecordType.audited;
                rpi.PercentAudited       = rpi.TotalRecords > 0 ? Decimal.Divide((decimal)rpi.Audited, (decimal)rpi.TotalRecords) * 100 : 0;
                rpi.PercentAuditedString = rpi.TotalRecords > 0 ? String.Format("{0:###.##}%", Decimal.Divide((decimal)rpi.Audited, (decimal)rpi.TotalRecords) * 100) : "0%";

                List <RecordProgressItem> chartData = new List <RecordProgressItem>();
                chartData.Add(rpi);

                progressChart.DataSource = chartData;
                progressChart.DataBind();
            }
        }
コード例 #4
0
        private static void SetEstiloFuente(RadHtmlChart grafico)
        {
            try
            {
                grafico.ChartTitle.Appearance.Visible = TitleVisible;

                grafico.Legend.Appearance.Position             = LegendPosition;
                grafico.Legend.Appearance.TextStyle.FontFamily = FontFamily;
                grafico.Legend.Appearance.TextStyle.FontSize   = Fontsize;

                grafico.PlotArea.XAxis.MajorGridLines.Width = 0;
                grafico.PlotArea.XAxis.MinorGridLines.Width = 0;
                grafico.PlotArea.YAxis.MajorGridLines.Width = 0;
                grafico.PlotArea.YAxis.MinorGridLines.Width = 0;

                grafico.PlotArea.YAxis.LabelsAppearance.TextStyle.FontFamily = FontFamily;
                grafico.PlotArea.YAxis.LabelsAppearance.TextStyle.FontSize   = Fontsize;

                if (grafico.PlotArea.AdditionalYAxes.Count > 0)
                {
                    grafico.PlotArea.AdditionalYAxes[0].LabelsAppearance.TextStyle.FontFamily = FontFamily;
                    grafico.PlotArea.AdditionalYAxes[0].LabelsAppearance.TextStyle.FontSize   = Fontsize;
                }
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }
コード例 #5
0
        private void MakePareto(RadHtmlChart grafico, DataTable dt, string name)
        {
            try
            {
                grafico.PlotArea.AdditionalYAxes.Clear();
                grafico.PlotArea.AdditionalYAxes.Add(new AxisY {
                    Name = "Lines"
                });
                grafico.PlotArea.AdditionalYAxes[0].MaxValue = 1;
                grafico.PlotArea.AdditionalYAxes[0].LabelsAppearance.DataFormatString = "{0:P0}";

                grafico.PlotArea.AdditionalYAxes[0].LabelsAppearance.TextStyle.FontFamily = ConfigurationManager.AppSettings["TipografiaFuente"];
                grafico.PlotArea.AdditionalYAxes[0].LabelsAppearance.TextStyle.FontSize   = 10;

                LineSeries lineSerie = new LineSeries();

                lineSerie.Appearance.Overlay.Gradient         = Gradients.None;
                lineSerie.LabelsAppearance.Position           = LineAndScatterLabelsPosition.Below;
                lineSerie.LabelsAppearance.DataFormatString   = "{0:P0}";
                lineSerie.TooltipsAppearance.DataFormatString = "{0:P}";
                lineSerie.Name     = "Pareto";
                lineSerie.AxisName = "Lines";
                foreach (DataRow row in dt.Rows)
                {
                    lineSerie.SeriesItems.Add((decimal)row[4]);
                }

                grafico.PlotArea.Series.Add(lineSerie);
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }
コード例 #6
0
            private static void ColumnStackedSerie(RadHtmlChart grafico, DataTable dt)
            {
                try
                {
                    foreach (DataRow row in dt.Rows)
                    {
                        ColumnSeries column = new ColumnSeries();
                        column.Appearance.Overlay.Gradient = Gradients.None;
                        column.Name = row[1].ToString();
                        column.Appearance.FillStyle.BackgroundColor = ColorTranslator.FromHtml(row[2].ToString());
                        column.GroupName = "Stacked";
                        column.Stacked   = true;

                        column.TooltipsAppearance.ClientTemplate = "#= series.name#: #= dataItem.value#";
                        column.LabelsAppearance.Visible          = false;
                        for (int c = 3; c < dt.Columns.Count; c++)
                        {
                            column.SeriesItems.Add(int.Parse(row[c].ToString()));
                        }
                        grafico.PlotArea.Series.Add(column);
                    }
                    for (int c = 3; c < dt.Columns.Count; c++)
                    {
                        grafico.PlotArea.XAxis.Items.Add(dt.Columns[c].ColumnName);
                    }
                }
                catch (Exception ex)
                {
                    throw new Exception(ex.Message);
                }
            }
コード例 #7
0
        private void GeneraGraficaStackedBar(RadHtmlChart grafico, DataTable dt)
        {
            grafico.PlotArea.Series.Clear();
            grafico.PlotArea.XAxis.Items.Clear();
            decimal maxvalue = 0;

            foreach (DataRow row in dt.Rows)
            {
                BarSeries serie = new BarSeries {
                    Name = row[0].ToString(), Stacked = true
                };
                serie.LabelsAppearance.Position = BarColumnLabelsPosition.Center;
                serie.TooltipsAppearance.Color  = Color.White;
                for (int i = 1; i < dt.Columns.Count; i++)
                {
                    serie.SeriesItems.Add(decimal.Parse(row[i].ToString()));
                    maxvalue = maxvalue < decimal.Parse(row[i].ToString()) ? decimal.Parse(row[i].ToString()) : maxvalue;
                }
                grafico.PlotArea.Series.Add(serie);
            }
            for (int i = 1; i < dt.Columns.Count; i++)
            {
                grafico.PlotArea.XAxis.Items.Add(dt.Columns[i].ColumnName);
            }
            grafico.Legend.Appearance.Position    = ChartLegendPosition.Bottom;
            grafico.Legend.Appearance.Orientation = ChartLegendOrientation.Horizontal;

            grafico.PlotArea.YAxis.MajorGridLines.Width = 1;
            grafico.PlotArea.YAxis.MinorGridLines.Width = 0;

            grafico.PlotArea.XAxis.MajorGridLines.Width = 0;
            grafico.PlotArea.XAxis.MinorGridLines.Width = 0;
        }
コード例 #8
0
        protected void Page_Load(object sender, EventArgs e)
        {
            SeriesItem Pagado = new SeriesItem(20);

            Pagado.Name     = "Pagado";
            Pagado.Exploded = true;

            SeriesItem PorPagar = new SeriesItem(80);

            PorPagar.Name = "PorPagar";

            PieSeries ps = new PieSeries();

            ps.Items.Add(Pagado);
            ps.Items.Add(PorPagar);

            ps.LabelsAppearance.Position           = Telerik.Web.UI.HtmlChart.PieLabelsPosition.Column;
            ps.LabelsAppearance.DataFormatString   = "{0} %";
            ps.TooltipsAppearance.Visible          = false;
            ps.TooltipsAppearance.DataFormatString = "{0} %";


            RadHtmlChart.PlotArea.Series.Add(ps);
            RadHtmlChart.DataBind();
        }
コード例 #9
0
 private static void LinesSeriePareto(RadHtmlChart grafico, string aditionalAxisName, string dataField, string colorField, string dataFormatLabel, string dataFormatTooltip)
 {
     try
     {
         grafico.PlotArea.AdditionalYAxes.Clear();
         grafico.PlotArea.AdditionalYAxes.Add(new AxisY {
             Name = aditionalAxisName
         });
         grafico.PlotArea.AdditionalYAxes[0].MaxValue = 1;
         grafico.PlotArea.AdditionalYAxes[0].LabelsAppearance.DataFormatString = dataFormatLabel;
         grafico.PlotArea.AdditionalYAxes[0].Step = 1;
         LineSeries lineSerie = new LineSeries {
             Name = "Pareto"
         };
         lineSerie.Appearance.Overlay.Gradient = Gradients.None;
         lineSerie.DataFieldY = dataField;
         lineSerie.ColorField = colorField;
         lineSerie.LabelsAppearance.DataFormatString   = dataFormatLabel;
         lineSerie.TooltipsAppearance.DataFormatString = dataFormatTooltip;
         lineSerie.LabelsAppearance.Visible            = true;
         lineSerie.LabelsAppearance.Position           = LineAndScatterLabelsPosition.Below;
         lineSerie.AxisName = aditionalAxisName;
         grafico.PlotArea.Series.Add(lineSerie);
     }
     catch (Exception ex)
     {
         throw new Exception(ex.Message);
     }
 }
コード例 #10
0
        private void MakePareto(RadHtmlChart grafico, DataTable dt, string name)
        {
            try
            {
                grafico.PlotArea.AdditionalYAxes.Add(new AxisY {
                    Name = "Lines"
                });
                LineSeries lineSerie = new LineSeries();
                lineSerie.Name     = name;
                lineSerie.AxisName = "Lines";
                foreach (DataRow row in dt.Rows)
                {
                    //for (int c = 1; c < dt.Columns.Count; c++)
                    //{
                    lineSerie.SeriesItems.Add((decimal)row[3]);
                    //}
                }

                grafico.PlotArea.Series.Add(lineSerie);
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }
コード例 #11
0
        private void GeneraGraficaStackedAdministrador(RadHtmlChart grafico, DataTable dt)
        {
            grafico.Legend.Appearance.Position = ChartLegendPosition.Bottom;

            int maxValue = int.Parse(Math.Truncate(double.Parse(dt.Rows[0][0].ToString()) + double.Parse(dt.Rows[0][1].ToString())).ToString());

            foreach (DataColumn row in dt.Columns)
            {
                BarSeries column = new BarSeries();
                //column.Appearance.Overlay.Gradient = Gradients.None;
                column.Name      = row.ColumnName;
                column.GroupName = "Likes";
                column.Stacked   = true;
                column.Appearance.FillStyle.BackgroundColor = row.ColumnName == "Ocupado" ? ColorTranslator.FromHtml("#E36F5B") : ColorTranslator.FromHtml("#B5E6A1");
                column.TooltipsAppearance.ClientTemplate    = "#= series.name#: #=value#";
                column.LabelsAppearance.Visible             = false;
                column.DataFieldY = row.ColumnName;
                grafico.PlotArea.Series.Add(column);
            }
            grafico.PlotArea.XAxis.MaxValue = maxValue;
            grafico.PlotArea.YAxis.MaxValue = maxValue;

            grafico.PlotArea.XAxis.DataLabelsField      = dt.Columns[dt.Columns.Count - 1].ColumnName;
            grafico.PlotArea.XAxis.MajorGridLines.Width = 0;
            grafico.PlotArea.XAxis.MinorGridLines.Width = 0;
            grafico.PlotArea.YAxis.MajorGridLines.Width = 0;
            grafico.PlotArea.YAxis.MinorGridLines.Width = 0;
            grafico.DataSource = dt;
            grafico.DataBind();
        }
コード例 #12
0
        private void GeneraGraficaPareto(RadHtmlChart grafico, DataTable dt, string stack)
        {
            try
            {
                List <ParetoArry> lstPareto = (dt.Rows.Cast <DataRow>().Select(dataRow => new ParetoArry {
                    Id = int.Parse(dataRow[0].ToString()), Descripcion = dataRow[1].ToString()
                })).ToList();

                for (int row = 0; row < dt.Rows.Count; row++)
                {
                    decimal total = 0;
                    for (int i = 2; i < dt.Columns.Count; i++)
                    {
                        total += decimal.Parse(dt.Rows[row][i].ToString());
                    }
                    lstPareto.Single(s => s.Descripcion == dt.Rows[row][1].ToString()).Total = total;
                }

                lstPareto = lstPareto.OrderByDescending(o => o.Total).ToList();
                decimal acumuladoAnterior = 0;
                foreach (ParetoArry data in lstPareto)
                {
                    data.Acumulado     = ((data.Total / lstPareto.Sum(s => s.Total)) * 100) + acumuladoAnterior;
                    acumuladoAnterior += data.Acumulado;
                }

                DataTable dtData = ConvertToDataTable(lstPareto);
                grafico.Width  = Unit.Percentage(100);
                grafico.Height = Unit.Pixel(500);
                grafico.Legend.Appearance.Position    = ChartLegendPosition.Bottom;
                grafico.Legend.Appearance.Orientation = ChartLegendOrientation.Vertical;
                ColumnSeries column = new ColumnSeries();
                column.Name    = stack;
                column.Stacked = false;
                column.TooltipsAppearance.ClientTemplate = "#= series.name# Total: #= dataItem.value#";
                column.LabelsAppearance.Visible          = false;
                foreach (DataRow row in dtData.Rows)
                {
                    column.SeriesItems.Add(int.Parse(row[2].ToString()));
                }
                grafico.PlotArea.Series.Add(column);

                grafico.PlotArea.XAxis.Items.Add(dtData.Columns[2].ColumnName);

                MakePareto(grafico, dtData, stack);

                grafico.PlotArea.XAxis.LabelsAppearance.RotationAngle = 270;
                grafico.PlotArea.XAxis.MajorGridLines.Width           = 0;
                grafico.PlotArea.XAxis.MinorGridLines.Width           = 0;
                grafico.PlotArea.YAxis.MajorGridLines.Width           = 0;
                grafico.PlotArea.YAxis.MinorGridLines.Width           = 0;
                grafico.DataSource = dtData;
                grafico.DataBind();
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }
コード例 #13
0
 /// <summary>
 /// Metodo que genera las graficas dinamicamente con los parametros recibidos
 /// </summary>
 /// <param name="idTipoIdentificacion"></param>
 /// <param name="numeroIdentificacion"></param>
 /// <param name="tipoEvento"></param>
 /// <param name="programa"></param>
 /// <param name="nombreSerie1"></param>
 /// <param name="nombreSerie2"></param>
 private void generarGrafica(int idTipoIdentificacion, string numeroIdentificacion, int tipoEvento, string programa, string nombreSerie1,
                             string nombreSerie2)
 {
     try
     {
         string       titulo  = "";
         RadHtmlChart grafica = new RadHtmlChart();
         grafica.ID     = "grafica" + programa;
         grafica.Width  = Unit.Percentage(100);
         grafica.Height = Unit.Pixel(500);
         //grafica.Layout = Telerik.Web.UI.HtmlChart.ChartLayout.Stock;
         IList <MedidasPaciente> listaMediciones = negocioPaciente.obtenerDatosLecturas(idTipoIdentificacion, numeroIdentificacion, tipoEvento);
         titulo = "Última medición " + nombreSerie1 + ": " + listaMediciones[listaMediciones.Count - 1].valor1;
         grafica.PlotArea.XAxis.TitleAppearance.Text = "Fecha medición";
         grafica.PlotArea.YAxis.TitleAppearance.Text = nombreSerie1;
         LineSeries serie = new LineSeries();
         serie.DataFieldY = "valor1";
         serie.Name       = nombreSerie1;
         serie.TooltipsAppearance.DataFormatString = "Resultado medición: {0} " + nombreSerie1 + " {1}";
         grafica.PlotArea.Series.Add(serie);
         if (programa.Equals("Presion Arterial"))
         {
             titulo += " - " + nombreSerie2 + ": " + listaMediciones[listaMediciones.Count - 1].valor2;
             LineSeries serie2 = new LineSeries();
             serie2.DataFieldY = "valor2";
             serie2.Name       = nombreSerie2;
             serie2.TooltipsAppearance.DataFormatString = "Resultado medición: {0} " + nombreSerie2;
             grafica.PlotArea.Series.Add(serie2);
         }
         grafica.PlotArea.XAxis.DataLabelsField = "fechaCadena";
         grafica.PlotArea.XAxis.StartAngle      = 90;
         grafica.PlotArea.XAxis.LabelsAppearance.RotationAngle     = 45;
         grafica.PlotArea.XAxis.TitleAppearance.TextStyle.FontSize = Unit.Pixel(50);
         grafica.PlotArea.YAxis.TitleAppearance.TextStyle.FontSize = Unit.Pixel(50);
         grafica.ChartTitle.Text         = "HISTÓRICO MEDICIONES " + programa.ToUpper();
         grafica.DataSource              = listaMediciones;
         grafica.Pan.Enabled             = true;
         grafica.Zoom.Enabled            = true;
         grafica.Zoom.MouseWheel.Enabled = true;
         grafica.Zoom.MouseWheel.Lock    = Telerik.Web.UI.HtmlChart.AxisLock.Y;
         //grafica.Navigator.Visible = true;
         //grafica.Navigator.RangeSelector.From = DateTime.ParseExact(listaMediciones.FirstOrDefault<MedidasPaciente>().fechaCadena, "dd/MM/yyyy", CultureInfo.InvariantCulture);
         //grafica.Navigator.RangeSelector.To = DateTime.ParseExact(listaMediciones.Last<MedidasPaciente>().fechaCadena, "dd/MM/yyyy", CultureInfo.InvariantCulture);
         //AreaSeries areaSerie = new AreaSeries();
         //areaSerie.DataFieldY = "fechaCadena";
         //grafica.Navigator.Series.Add(areaSerie);
         grafica.DataBind();
         Literal tituloEncabezado = new Literal();
         tituloEncabezado.Text = "<h1 class=@\"pull-right@\">" + titulo + "</h1>";
         HtmlChartHolder.Controls.Add(tituloEncabezado);
         HtmlChartHolder.Controls.Add(grafica);
         HtmlChartHolder.Controls.Add(new LiteralControl("<br />"));
     }
     catch (Exception ex)
     {
         //TODO: Implemetar el manejador de mensajes
     }
 }
コード例 #14
0
        private void GeneraGraficaPie(RadHtmlChart grafico, DataTable dt, string titulo)
        {
            try
            {
                switch (ucFiltroFechasGrafico.TipoPeriodo)
                {
                case 1:
                    lblPieGeneral.Text = string.Format("Diario: {0} - {1}",
                                                       ucFiltroFechasGrafico.RangoFechas == null ? "Historico" : ucFiltroFechasGrafico.RangoFechas.Single(s => s.Key == "inicio").Value.ToShortDateString(),
                                                       ucFiltroFechasGrafico.RangoFechas == null ? string.Empty : ucFiltroFechasGrafico.RangoFechas.Single(s => s.Key == "fin").Value.ToShortDateString());
                    break;

                case 2:
                    lblPieGeneral.Text = string.Format("Semanal: {0} - {1}",
                                                       ucFiltroFechasGrafico.RangoFechas == null ? "Historico" : ucFiltroFechasGrafico.RangoFechas.Single(s => s.Key == "inicio").Value.ToShortDateString(),
                                                       ucFiltroFechasGrafico.RangoFechas == null ? string.Empty : ucFiltroFechasGrafico.RangoFechas.Single(s => s.Key == "fin").Value.ToShortDateString());
                    break;

                case 3:
                    lblPieGeneral.Text = string.Format("Mensual: {0} - {1}",
                                                       ucFiltroFechasGrafico.RangoFechas == null ? "Historico" : ucFiltroFechasGrafico.RangoFechas.Single(s => s.Key == "inicio").Value.ToString("MMM"),
                                                       ucFiltroFechasGrafico.RangoFechas == null ? string.Empty : ucFiltroFechasGrafico.RangoFechas.Single(s => s.Key == "fin").Value.ToString("MMM"));
                    break;

                case 4:
                    lblPieGeneral.Text = string.Format("Anual: {0} - {1}",
                                                       ucFiltroFechasGrafico.RangoFechas == null ? "Historico" : ucFiltroFechasGrafico.RangoFechas.Single(s => s.Key == "inicio").Value.ToShortDateString(),
                                                       ucFiltroFechasGrafico.RangoFechas == null ? string.Empty : ucFiltroFechasGrafico.RangoFechas.Single(s => s.Key == "fin").Value.ToShortDateString());
                    break;
                }
                grafico.PlotArea.Series.Clear();
                grafico.Legend.Appearance.Position = ChartLegendPosition.Bottom;

                DonutSeries pieSerie = new DonutSeries();
                pieSerie.Appearance.Overlay.Gradient = Gradients.None;
                pieSerie.DataFieldY = "Total";
                pieSerie.NameField  = "Descripcion";
                pieSerie.ColorField = "Color";
                pieSerie.LabelsAppearance.Visible  = true;
                pieSerie.LabelsAppearance.Position = PieAndDonutLabelsPosition.Center;

                grafico.Legend.Appearance.TextStyle.FontFamily = ConfigurationManager.AppSettings["TipografiaFuente"];
                grafico.Legend.Appearance.TextStyle.FontSize   = 10;

                grafico.PlotArea.YAxis.LabelsAppearance.TextStyle.FontFamily = ConfigurationManager.AppSettings["TipografiaFuente"];
                grafico.PlotArea.YAxis.LabelsAppearance.TextStyle.FontSize   = 10;
                grafico.PlotArea.XAxis.LabelsAppearance.TextStyle.FontFamily = ConfigurationManager.AppSettings["TipografiaFuente"];
                grafico.PlotArea.XAxis.LabelsAppearance.TextStyle.FontSize   = 10;

                grafico.PlotArea.Series.Add(pieSerie);
                grafico.DataSource = dt;
                grafico.DataBind();
            }
            catch (Exception ex)
            {
                throw new Exception("Error al generar pie: " + ex.Message);
            }
        }
コード例 #15
0
        protected void rgOffice_ItemDataBound(object sender, GridItemEventArgs e)
        {
            if (e.Item.ItemType == GridItemType.Item || e.Item.ItemType == GridItemType.AlternatingItem)
            {
                GridDataItem item             = e.Item as GridDataItem;
                RadHtmlChart allProgressChart = item["AllRecordsProgressChartColumn"].FindControl("rhcAllProgress") as RadHtmlChart;
                RadHtmlChart tsProgressChart  = item["TSRecordsProgressChartColumn"].FindControl("rhcTSProgress") as RadHtmlChart;
                RadHtmlChart ntsProgressChart = item["NTSRecordsProgressChartColumn"].FindControl("rhcNTSProgress") as RadHtmlChart;
                int          office_id        = Convert.ToInt32(item.GetDataKeyValue("office_id"));

                RecordProgressItem rpi   = new RecordProgressItem();
                var allProgressChartData = db.SP_RMS_Progress_Report_by_office_id(office_id, rdpEndDt.SelectedDate, false, "no").FirstOrDefault();
                var tsProgressChartData  = db.SP_RMS_Progress_Report_by_office_id(office_id, rdpEndDt.SelectedDate, true, "yes").FirstOrDefault();
                var ntsProgressChartData = db.SP_RMS_Progress_Report_by_office_id(office_id, rdpEndDt.SelectedDate, false, "yes").FirstOrDefault();

                //All Records Progress Chart Data
                rpi.AllRecords               = (int)allProgressChartData.TotalSites;
                rpi.AllAnalyzed              = (int)allProgressChartData.Analyzed;
                rpi.AllApproved              = (int)allProgressChartData.Approved;
                rpi.PercentAllAnalyzed       = rpi.AllRecords > 0 ? Decimal.Divide((decimal)rpi.AllAnalyzed, (decimal)rpi.AllRecords) * 100 : 100;
                rpi.PercentAllApproved       = rpi.AllRecords > 0 ? Decimal.Divide((decimal)rpi.AllApproved, (decimal)rpi.AllRecords) * 100 : 100;
                rpi.PercentAllAnalyzedString = rpi.AllRecords > 0 ? String.Format("{0:###.##}%", Decimal.Divide((decimal)rpi.AllAnalyzed, (decimal)rpi.AllRecords) * 100) : "100%";
                rpi.PercentAllApprovedString = rpi.AllRecords > 0 ? String.Format("{0:###.##}%", Decimal.Divide((decimal)rpi.AllApproved, (decimal)rpi.AllRecords) * 100) : "100%";

                //Time-Series Records Progress Chart Data
                rpi.TSRecords               = (int)tsProgressChartData.TotalSites;
                rpi.TSAnalyzed              = (int)tsProgressChartData.Analyzed;
                rpi.TSApproved              = (int)tsProgressChartData.Approved;
                rpi.PercentTSAnalyzed       = rpi.TSRecords > 0 ? Decimal.Divide((decimal)rpi.TSAnalyzed, (decimal)rpi.TSRecords) * 100 : 100;
                rpi.PercentTSApproved       = rpi.TSRecords > 0 ? Decimal.Divide((decimal)rpi.TSApproved, (decimal)rpi.TSRecords) * 100 : 100;
                rpi.PercentTSAnalyzedString = rpi.TSRecords > 0 ? String.Format("{0:###.##}%", Decimal.Divide((decimal)rpi.TSAnalyzed, (decimal)rpi.TSRecords) * 100) : "100%";
                rpi.PercentTSApprovedString = rpi.TSRecords > 0 ? String.Format("{0:###.##}%", Decimal.Divide((decimal)rpi.TSApproved, (decimal)rpi.TSRecords) * 100) : "100%";

                //Non-Time-Series Records Progress Chart Data
                rpi.NTSRecords               = (int)ntsProgressChartData.TotalSites;
                rpi.NTSAnalyzed              = (int)ntsProgressChartData.Analyzed;
                rpi.NTSApproved              = (int)ntsProgressChartData.Approved;
                rpi.PercentNTSAnalyzed       = rpi.NTSRecords > 0 ? Decimal.Divide((decimal)rpi.NTSAnalyzed, (decimal)rpi.NTSRecords) * 100 : 100;
                rpi.PercentNTSApproved       = rpi.NTSRecords > 0 ? Decimal.Divide((decimal)rpi.NTSApproved, (decimal)rpi.NTSRecords) * 100 : 100;
                rpi.PercentNTSAnalyzedString = rpi.NTSRecords > 0 ? String.Format("{0:###.##}%", Decimal.Divide((decimal)rpi.NTSAnalyzed, (decimal)rpi.NTSRecords) * 100) : "100%";
                rpi.PercentNTSApprovedString = rpi.NTSRecords > 0 ? String.Format("{0:###.##}%", Decimal.Divide((decimal)rpi.NTSApproved, (decimal)rpi.NTSRecords) * 100) : "100%";

                List <RecordProgressItem> chartData = new List <RecordProgressItem>();
                chartData.Add(rpi);

                allProgressChart.DataSource = chartData;
                allProgressChart.DataBind();

                tsProgressChart.DataSource = chartData;
                tsProgressChart.DataBind();

                ntsProgressChart.DataSource = chartData;
                ntsProgressChart.DataBind();
            }
        }
コード例 #16
0
        /// <summary>
        /// The method which adds the regression model series.
        /// </summary>
        private static void AddRegressionSeries(RadHtmlChart chart, string xField, string yField, string seriesName)
        {
            ScatterLineSeries scatterLineSeries1 = new ScatterLineSeries();

            scatterLineSeries1.Name       = seriesName;
            scatterLineSeries1.DataFieldX = xField;
            scatterLineSeries1.DataFieldY = yField;
            scatterLineSeries1.LabelsAppearance.Visible  = false;
            scatterLineSeries1.MarkersAppearance.Visible = false;
            chart.PlotArea.Series.Add(scatterLineSeries1);
        }
コード例 #17
0
ファイル: Statistics.aspx.cs プロジェクト: Homory-Temp/LeYi
 protected void BuildChart(RadHtmlChart chart, string name, int r, int g, int b, int[] values)
 {
     RadarColumnSeries item = new RadarColumnSeries();
     item.Name = name;
     item.Stacked = true;
     item.Appearance.FillStyle.BackgroundColor = System.Drawing.Color.FromArgb(r, g, b);
     item.LabelsAppearance.Visible = false;
     foreach (var value in values)
         item.SeriesItems.Add(value);
     chart.PlotArea.Series.Add(item);
 }
コード例 #18
0
 protected void BuildChart(RadHtmlChart chart, List<AssessItem> list, decimal[] values)
 {
     RadarColumnSeries item = new RadarColumnSeries();
     item.Stacked = false;
     item.LabelsAppearance.Visible = false;
     foreach (var value in values)
     {
         item.SeriesItems.Add(new CategorySeriesItem(value));
     }
     chart.PlotArea.Series.Add(item);
 }
コード例 #19
0
    /// <summary>
    /// Groups the RadHtmlChart's data source.
    /// </summary>
    /// <param name="HtmlChart">The RadHtmlChart instance.</param>
    /// <param name="DataSource">The raw DataTable data source.</param>
    /// <param name="DataGroupColumn">The name of the column in the raw data source which will be the criteria for grouping the chart series items into series. There will be as many series as the number of distinct values in this column.</param>
    /// <param name="SeriesType">The type of the series. Currently the example supports Area, Bar, Column, Line, Scatter and ScatterLine series. You can, however, expand that list in the AddChartSeriesType() method.</param>
    /// <param name="DataFieldY">The name of the column in the raw data source that stores the y-values.</param>
    /// <param name="DataFieldX">The name of the column in the raw data source that stores the x-values. </param>
    public static void GroupDataSource(RadHtmlChart HtmlChart, DataTable DataSource, string DataGroupColumn, string SeriesType, string DataFieldY, string DataFieldX)
    {
        //Get number of distinct rows by DataGroupColumn (e.g., Year column)
        DataTable distinctValuesDT  = DataSource.DefaultView.ToTable(true, DataGroupColumn);
        int       numDistinctValues = distinctValuesDT.Rows.Count;

        //Add RadHtmlChart series
        ConfigureChartSeries(HtmlChart, numDistinctValues, distinctValuesDT, SeriesType, DataFieldY, DataFieldX);

        //Group data source and bind it to the chart
        HtmlChart.DataSource = GetGroupedData(DataSource, DataGroupColumn, DataFieldY, numDistinctValues, distinctValuesDT);
        HtmlChart.DataBind();
    }
コード例 #20
0
        private void GeneraGraficaPie(RadHtmlChart grafico, DataTable dt)
        {
            grafico.PlotArea.Series.Clear();
            grafico.Legend.Appearance.Position = ChartLegendPosition.Bottom;
            DonutSeries donutSerie = new DonutSeries();

            donutSerie.DataFieldY = "Total";
            donutSerie.ColorField = "Color";
            donutSerie.NameField  = "Descripcion";
            donutSerie.LabelsAppearance.Visible  = true;
            donutSerie.LabelsAppearance.Position = PieAndDonutLabelsPosition.Center;

            grafico.PlotArea.Series.Add(donutSerie);
            grafico.DataSource = dt;
            grafico.DataBind();
        }
コード例 #21
0
        protected void CreateChart(ref RadHtmlChart chart, int measureId, int year, string measure)
        {
            chart.Skin = "Default";

            chart.ChartTitle.Text = year + " " + measure;
            var line1a = new Telerik.Web.UI.LineSeries();
            var line1b = new Telerik.Web.UI.LineSeries();

            line1a.Name = "Value";
            line1b.Name = "Cost";

            line1a.LabelsAppearance.DataFormatString = "#,##0";
            line1b.LabelsAppearance.DataFormatString = "#,##0";

            // Bind to database
            var data1 = from metrics in entities.EHS_PROFILE_MEASURE
                        join data in entities.EHS_PROFILE_INPUT on metrics.PRMR_ID equals data.PRMR_ID
                        where metrics.PLANT_ID == 36 && metrics.MEASURE_ID == measureId && data.PERIOD_YEAR == year
                        orderby data.PERIOD_MONTH
                        select new
            {
                Month = data.PERIOD_MONTH,
                Value = data.MEASURE_VALUE,
                Cost  = data.MEASURE_COST,
            };

            if (data1.Count() > 0)
            {
                line1a.DataFieldY = "Value";
                line1b.DataFieldY = "Cost";

                chart.DataSource = data1;
                chart.DataBind();
            }


            chart.Legend.Appearance.Position = ChartLegendPosition.Top;
            chart.Legend.Appearance.Visible  = true;

            chart.PlotArea.XAxis.DataLabelsField      = "Month";
            chart.PlotArea.XAxis.TitleAppearance.Text = "Month";
            chart.PlotArea.YAxis.LabelsAppearance.DataFormatString = "#,##0";
            chart.PlotArea.YAxis.TitleAppearance.Text = "Value/Cost";

            chart.PlotArea.Series.Add(line1a);
            chart.PlotArea.Series.Add(line1b);
        }
コード例 #22
0
        public static void Plot(RadHtmlChart HtmlChart, DataTable DataSource, string DataFieldX, string DataFieldY, RegressionType RegressionModelType)
        {
            double[] estimators    = OrdinaryLeastSquares(DataSource, DataFieldX, DataFieldY, RegressionModelType);
            double   slope         = estimators[0];
            double   intercept     = estimators[1];
            double   rSquared      = estimators[2];
            string   estYFieldName = "__Yest";
            string   estXFieldName = "__Xest";

            AddRegressionFields(DataSource, DataFieldX, DataFieldY, estXFieldName, estYFieldName, slope, intercept, RegressionModelType);

            string equationSeriesName = FormatStringEquation(RegressionModelType, slope, intercept, rSquared);

            AddRegressionSeries(DataSource, HtmlChart, estXFieldName, estYFieldName, equationSeriesName);
            HtmlChart.DataSource = DataSource;
            HtmlChart.DataBind();
        }
コード例 #23
0
 protected void RadGrid1_ItemDataBound(object sender, GridItemEventArgs e)
 {
     if (e.Item.ItemType == GridItemType.Item || e.Item.ItemType == GridItemType.AlternatingItem)
     {
         GridDataItem item  = e.Item as GridDataItem;
         RadHtmlChart chart = item["ChartColumn"].FindControl("RadHtmlChart1") as RadHtmlChart;
         SqlDataSource2.SelectParameters[0].DefaultValue = item.GetDataKeyValue("customer").ToString();
         chart.DataSource = SqlDataSource2.Select(DataSourceSelectArguments.Empty);
         if ((chart.DataSource as DataView).Count > 0)
         {
             chart.DataBind();
         }
         else
         {
             chart.Visible = false;
             item["ChartColumn"].Controls.Add(new LiteralControl("This Job Card has no record."));
         }
     }
 }
コード例 #24
0
        private void GeneraGraficaPie(RadHtmlChart grafico, DataTable dt, bool aplicaColor)
        {
            grafico.PlotArea.Series.Clear();
            PieSeries pieSerie = new PieSeries {
                DataFieldY = "Total", NameField = "Descripcion"
            };

            if (aplicaColor)
            {
                pieSerie.ColorField = "Color";
            }
            pieSerie.LabelsAppearance.Visible     = true;
            pieSerie.LabelsAppearance.Position    = PieAndDonutLabelsPosition.Center;
            grafico.Legend.Appearance.Position    = ChartLegendPosition.Bottom;
            grafico.Legend.Appearance.Orientation = ChartLegendOrientation.Horizontal;
            grafico.PlotArea.Series.Add(pieSerie);
            grafico.DataSource = dt;
            grafico.DataBind();
        }
コード例 #25
0
 private static void DonutSerie(RadHtmlChart grafico, string explodeField, string dataField, string nameField, string colorField, string dataFormatTooltip)
 {
     try
     {
         DonutSeries donutSerie = new DonutSeries();
         donutSerie.Appearance.Overlay.Gradient = GradientsSerie;
         donutSerie.ExplodeField              = explodeField;
         donutSerie.DataFieldY                = dataField;
         donutSerie.NameField                 = nameField;
         donutSerie.ColorField                = colorField;
         donutSerie.LabelsAppearance.Visible  = true;
         donutSerie.LabelsAppearance.Position = DonutLabelsPosition;
         grafico.PlotArea.Series.Add(donutSerie);
     }
     catch (Exception ex)
     {
         throw new Exception(ex.Message);
     }
 }
コード例 #26
0
 private static void ColumnsSeriePareto(RadHtmlChart grafico, string fieldData, string fieldColor, string clientTemplateTooltip, string stack)
 {
     try
     {
         ColumnSeries donutSerie = new ColumnSeries {
             Name = stack, Stacked = false
         };
         donutSerie.Appearance.Overlay.Gradient = Gradients.None;
         donutSerie.DataFieldY = fieldData;
         donutSerie.ColorField = fieldColor;
         donutSerie.TooltipsAppearance.ClientTemplate = clientTemplateTooltip;
         donutSerie.LabelsAppearance.Visible          = true;
         donutSerie.LabelsAppearance.Position         = BarColumnLabelsPosition.Center;
         grafico.PlotArea.Series.Add(donutSerie);
     }
     catch (Exception ex)
     {
         throw new Exception(ex.Message);
     }
 }
コード例 #27
0
        protected void rptPreguntas_OnItemDataBound(object sender, RepeaterItemEventArgs e)
        {
            try
            {
                Label lblTituloPreguntaPie    = (Label)e.Item.FindControl("lblPreguntaTituloPie");
                Label lblTituloPreguntaColumn = (Label)e.Item.FindControl("lblPreguntaTituloColumn");

                RadHtmlChart chartPie    = (RadHtmlChart)e.Item.FindControl("rhGraficoPreguntaPie");
                RadHtmlChart chartColumn = (RadHtmlChart)e.Item.FindControl("rhGraficoPregunta");
                if (lblTituloPreguntaPie != null && lblTituloPreguntaColumn != null && chartPie != null && chartColumn != null)
                {
                    DataTable dt = (DataTable)e.Item.DataItem;
                    lblTituloPreguntaPie.Text    = dt.ExtendedProperties["Pregunta"].ToString();
                    lblTituloPreguntaColumn.Text = dt.ExtendedProperties["Pregunta"].ToString();

                    DataTable dtTotalPregunta = new DataTable();
                    dtTotalPregunta.Columns.Add("Descripcion", typeof(string));
                    dtTotalPregunta.Columns.Add("Color", typeof(string));
                    dtTotalPregunta.Columns.Add("Total", typeof(int));
                    foreach (DataRow dr in dt.Rows)
                    {
                        int sum = 0;
                        for (int i = 2; i < dt.Columns.Count; i++)
                        {
                            if (dr.RowState != DataRowState.Deleted)
                            {
                                sum += Convert.ToInt32(dr[i]);
                            }
                        }
                        dtTotalPregunta.Rows.Add(dr[0], dr[1], sum);
                    }
                    GeneraGraficaPie(chartPie, dtTotalPregunta, dt.ExtendedProperties["Pregunta"].ToString());
                    //DataTable
                    GeneraGraficaStackedColumn(chartColumn, dt, dt.ExtendedProperties["Pregunta"].ToString());
                }
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }
コード例 #28
0
 public static void GeneraGraficaStackedPie(RadHtmlChart grafico, Label lblPeriodo, DataTable dt, int idTipoPerioro, Dictionary <string, DateTime> rangoFechas, Label lblTotal)
 {
     try
     {
         grafico.PlotArea.Series.Clear();
         SetPerido(lblPeriodo, idTipoPerioro, rangoFechas);
         if (dt != null)
         {
             DonutSerie(grafico, "false", "Total", "Descripcion", "Color", "#= dataItem.Descripcion#: #= dataItem.Total#");
         }
         SetEstiloFuente(grafico);
         List <ParetoArry> datos = GeneraDatos(dt);
         grafico.DataSource = datos;
         grafico.DataBind();
         lblTotal.Text = datos == null ? "0" : datos.Sum(s => s.Total).ToString();
     }
     catch (Exception ex)
     {
         throw new Exception(ex.Message);
     }
 }
コード例 #29
0
		/// <summary>
		/// Creates a regression model out of an existing data source within the RadHtmlChart control.
		/// </summary>
		/// <param name="HtmlChart">The RadHtmlChart instance.</param>
		/// <param name="DataSource">The DataTable data source.</param>
		/// <param name="DataFieldX">The name of the column in the data source that stores the x-values. </param>
		/// <param name="DataFieldY">The name of the column in the data source that stores the y-values.</param>
		/// <param name="RegressionModelType">The type of the regression model.</param>
		public static void Plot(RadHtmlChart HtmlChart, DataTable DataSource, string DataFieldX, string DataFieldY, RegressionType RegressionModelType)
		{
			//Calculate a and b coefficients
			double[] estimators = OrdinaryLeastSquares(DataSource, DataFieldX, DataFieldY, RegressionModelType);
			double slope = estimators[0];
			double intercept = estimators[1];
			double rSquared = estimators[2];
			//Add x and y estimates
			string estYFieldName = "__Yest";
			string estXFieldName = "__Xest";
			AddRegressionFields(DataSource, DataFieldX, DataFieldY, estXFieldName, estYFieldName, slope, intercept, RegressionModelType);

			//Form the equation, used for the series name
			string equationSeriesName = FormatStringEquation(RegressionModelType, slope, intercept, rSquared);

			//Add a new series with the regression line
			AddRegressionSeries(HtmlChart, estXFieldName, estYFieldName, equationSeriesName);
			//Data bind the chart to the new data source
			HtmlChart.DataSource = DataSource;
			HtmlChart.DataBind();
		}
コード例 #30
0
 public static void GraficaPareto(RadHtmlChart grafico, Label lblPeriodo, DataTable dt, int idTipoPerioro, Dictionary <string, DateTime> rangoFechas, string stack)
 {
     try
     {
         grafico.PlotArea.Series.Clear();
         SetPerido(lblPeriodo, idTipoPerioro, rangoFechas);
         if (dt != null)
         {
             dt = GeneraDatosPareto(dt);
             ColumnsSeriePareto(grafico, "Total", "Color", "#= dataItem.Descripcion#: #= dataItem.Total#", stack);
             LinesSeriePareto(grafico, "Lines", "Acumulado", "Color", "{0:P0}", "{0:P}");
         }
         SetEstiloFuente(grafico);
         grafico.DataSource = dt;
         grafico.DataBind();
     }
     catch (Exception ex)
     {
         throw new Exception(ex.Message);
     }
 }
コード例 #31
0
        /// <summary>
        /// Creates a regression model out of an existing data source within the RadHtmlChart control.
        /// </summary>
        /// <param name="HtmlChart">The RadHtmlChart instance.</param>
        /// <param name="DataSource">The DataTable data source.</param>
        /// <param name="DataFieldX">The name of the column in the data source that stores the x-values. </param>
        /// <param name="DataFieldY">The name of the column in the data source that stores the y-values.</param>
        /// <param name="RegressionModelType">The type of the regression model.</param>
        public static void Plot(RadHtmlChart HtmlChart, DataTable DataSource, string DataFieldX, string DataFieldY, RegressionType RegressionModelType)
        {
            //Calculate a and b coefficients
            double[] estimators = OrdinaryLeastSquares(DataSource, DataFieldX, DataFieldY, RegressionModelType);
            double   slope      = estimators[0];
            double   intercept  = estimators[1];
            double   rSquared   = estimators[2];
            //Add x and y estimates
            string estYFieldName = "__Yest";
            string estXFieldName = "__Xest";

            AddRegressionFields(DataSource, DataFieldX, DataFieldY, estXFieldName, estYFieldName, slope, intercept, RegressionModelType);

            //Form the equation, used for the series name
            string equationSeriesName = FormatStringEquation(RegressionModelType, slope, intercept, rSquared);

            //Add a new series with the regression line
            AddRegressionSeries(HtmlChart, estXFieldName, estYFieldName, equationSeriesName);
            //Data bind the chart to the new data source
            HtmlChart.DataSource = DataSource;
            HtmlChart.DataBind();
        }
コード例 #32
0
 private void GeneraGraficaStackedColumn(RadHtmlChart grafico, DataTable dt)
 {
     try
     {
         grafico.Width  = Unit.Percentage(100);
         grafico.Height = Unit.Pixel(500);
         grafico.Legend.Appearance.Position    = ChartLegendPosition.Bottom;
         grafico.Legend.Appearance.Orientation = ChartLegendOrientation.Vertical;
         foreach (DataRow row in dt.Rows)
         {
             ColumnSeries column = new ColumnSeries();
             column.Name      = row[1].ToString();
             column.GroupName = "Stacked";
             column.Stacked   = true;
             column.TooltipsAppearance.ClientTemplate = "#= series.name# Total: #= dataItem.value#";
             column.LabelsAppearance.Visible          = false;
             for (int c = 2; c < dt.Columns.Count; c++)
             {
                 column.SeriesItems.Add(int.Parse(row[c].ToString()));
             }
             grafico.PlotArea.Series.Add(column);
         }
         for (int c = 2; c < dt.Columns.Count; c++)
         {
             grafico.PlotArea.XAxis.Items.Add(dt.Columns[c].ColumnName);
         }
         grafico.PlotArea.XAxis.LabelsAppearance.RotationAngle = 270;
         grafico.PlotArea.XAxis.MajorGridLines.Width           = 0;
         grafico.PlotArea.XAxis.MinorGridLines.Width           = 0;
         grafico.PlotArea.YAxis.MajorGridLines.Width           = 0;
         grafico.PlotArea.YAxis.MinorGridLines.Width           = 0;
         grafico.DataSource = dt;
         grafico.DataBind();
     }
     catch (Exception ex)
     {
         throw new Exception(ex.Message);
     }
 }
コード例 #33
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);
    }
コード例 #34
0
        private static void AddRegressionSeries(DataTable dt, RadHtmlChart chart, string xField, string yField, string seriesName)
        {
            ScatterLineSeries scatterLineSeries1 = new ScatterLineSeries();

            //scatterLineSeries1.DataFieldX = xField;
            //scatterLineSeries1.DataFieldY = yField;


            foreach (DataRow item in dt.Rows)
            {
                scatterLineSeries1.SeriesItems.Add(decimal.Parse(item["__Xest"].ToString()), decimal.Parse(item["__Yest"].ToString()));
            }
            scatterLineSeries1.Name = "Tendencia";
            scatterLineSeries1.LabelsAppearance.Visible  = false;
            scatterLineSeries1.MarkersAppearance.Visible = false;
            chart.PlotArea.Series.Add(scatterLineSeries1);


            //vPrimerScatterSeries.SeriesItems.Add(iEmp.NO_NIVEL, iEmp.MN_SUELDO_ORIGINAL);
            //vPrimerScatterSeries.LabelsAppearance.Visible = false;
            //vPrimerScatterSeries.Name = iEmp.NB_TABULADOR.ToString();
            //dt.Rows.Add(iEmp.NO_NIVEL, iEmp.MN_SUELDO_ORIGINAL);
        }
コード例 #35
0
    /// <summary>
    /// Configures chart series. For example sets series names, define tooltips/labels template, etc.
    /// </summary>
    private static void ConfigureChartSeries(RadHtmlChart HtmlChart, int NumDistinctValues, DataTable DistinctValuesDT, string SeriesType, string DataFieldY, string DataFieldX)
    {
        HtmlChart.PlotArea.Series.Clear();
        //Detect whether series are of category type
        string[] categorySeriesArray = { "AreaSeries", "BarSeries", "ColumnSeries", "LineSeries" };
        bool     isCategorySeries    = Array.IndexOf(categorySeriesArray, SeriesType) > -1 ? true : false;

        //Configure x-axis DataLabelsField if series are of category type
        if (isCategorySeries)
        {
            HtmlChart.PlotArea.XAxis.DataLabelsField = DataFieldX + "0";
        }

        for (int i = 0; i < NumDistinctValues; i++)
        {
            //Construct the series name, tooltips template and labels format string
            string seriesName         = DistinctValuesDT.Columns[0].ColumnName + " : " + DistinctValuesDT.Rows[i][0].ToString();
            string tooltipsTemplate   = "Category: #=dataItem." + DataFieldX + i + "#<br />Value: #=dataItem." + DataFieldY + i + "#";
            string labelsFormatString = "{0:N0}";

            //Add the corresponding series type to the chart
            AddChartSeriesType(HtmlChart, SeriesType, DataFieldY, DataFieldX, i, seriesName, tooltipsTemplate, labelsFormatString);
        }
    }
コード例 #36
0
		/// <summary>
		/// The method which adds the regression model series.
		/// </summary>
		private static void AddRegressionSeries(RadHtmlChart chart, string xField, string yField, string seriesName)
		{
			ScatterLineSeries scatterLineSeries1 = new ScatterLineSeries();
			scatterLineSeries1.Name = seriesName;
			scatterLineSeries1.DataFieldX = xField;
			scatterLineSeries1.DataFieldY = yField;
			scatterLineSeries1.LabelsAppearance.Visible = false;
			scatterLineSeries1.MarkersAppearance.Visible = false;
			chart.PlotArea.Series.Add(scatterLineSeries1);
		}