Example #1
2
        protected void Page_Load(object sender, EventArgs e)
        {
            WebChartControl chart = new WebChartControl();
            chart.EnableViewState = false;
            ChartTitle title = new ChartTitle();
            title.Text = string.Format(Utilities.GetResourceString("Common", "ChartHeader"),
                                       "Jmeno", "Start 10.12.2010","Finish 17.12.2010");
            title.Font = new System.Drawing.Font("Tahoma", 10);
            chart.Titles.Add(title);
            chart.FillStyle.FillMode = FillMode.Solid;

            Dictionary<int, Series> series = new Dictionary<int, Series>();

            Series s0 = new Series("Recommended price", ViewType.StackedBar);
            s0.ValueScaleType = ScaleType.Numerical;
            s0.ArgumentScaleType = ScaleType.DateTime;
            series.Add(0, s0);

            SetGraphPoint(series[0], "rnd");

            Series s1 = new Series("Actual price", ViewType.Line);
            s1.ValueScaleType = ScaleType.Numerical;
            s1.ArgumentScaleType = ScaleType.DateTime;
            series.Add(1, s1);

            SetGraphPoint(series[1], "fib");

            //Series s2 = new Series("Predicted price", ViewType.Bubble);
            //s2.ValueScaleType = ScaleType.Numerical;
            //s2.ArgumentScaleType = ScaleType.DateTime;
            //series.Add(2, s2);

            //SetGraphPoint(series[2], "byte");

            foreach (KeyValuePair<int, Series> serie in series)
                chart.Series.Add(serie.Value);

            //chart.SeriesTemplate.ShowInLegend = false;
            chart.Legend.Direction = LegendDirection.LeftToRight;
            chart.Legend.AlignmentHorizontal = LegendAlignmentHorizontal.Center;
            chart.Legend.AlignmentVertical = LegendAlignmentVertical.Bottom;

            DevExpress.XtraCharts.XYDiagram xyDiagram = new XYDiagram();
            xyDiagram.AxisY.Title.Font = new System.Drawing.Font("Tahoma", 8);
            xyDiagram.AxisY.Title.Text = "CZK";
            xyDiagram.AxisY.Label.Staggered = false;
            xyDiagram.AxisY.Title.Visible = true;
            xyDiagram.AxisY.Range.SideMarginsEnabled = true;
            xyDiagram.AxisY.Interlaced = true;

            xyDiagram.AxisX.Title.Font = new System.Drawing.Font("Tahoma", 8);
            xyDiagram.AxisX.Label.Staggered = true;
            xyDiagram.AxisX.Range.SideMarginsEnabled = true;
            xyDiagram.AxisX.Tickmarks.MinorVisible = false;
            chart.Diagram = xyDiagram;
            chart.Width = 700;
            chart.Height = 500;
            //chart.DataBind();
            phMain.Controls.Add(chart);
        }
        private void ChartSettiong_positiondata_realtime()
        {
            position_realtime_series = new DevExpress.XtraCharts.Series("위치", ViewType.Line);

            //   position_series[0].LabelsVisibility = DevExpress.Utils.DefaultBoolean.True;  //시리즈에 라벨 표시
            //   position_series[1].LabelsVisibility = DevExpress.Utils.DefaultBoolean.True;


            //ChartControl에 Series 추가
            chartControl_path.Series.Add(position_realtime_series);

            chartControl_path.CrosshairEnabled = DefaultBoolean.False;
            XYDiagram diagram = (XYDiagram)chartControl_path.Diagram;

            diagram.AxisY.WholeRange.MaxValue         = 10;    // y축 최대값
            diagram.AxisY.WholeRange.MinValue         = -1;    // y축 최소값
            diagram.AxisY.WholeRange.Auto             = false; // y축 범위 자동변경 설정
            diagram.AxisX.WholeRange.SideMarginsValue = 0;

            ConstantLine zeroLine = new ConstantLine();

            zeroLine.Color        = Color.Green;
            zeroLine.AxisValue    = 0;
            zeroLine.ShowInLegend = false;
            diagram.AxisY.ConstantLines.Add(zeroLine);  // y값 0인 x축 생성
        }
        private void ChartSettiong_angluardata_result()
        {
            //  position_series[0] = new DevExpress.XtraCharts.Series("위치", ViewType.Line);
            angluar_result_series = new DevExpress.XtraCharts.Series("앵글", ViewType.Line);

            //   position_series[0].LabelsVisibility = DevExpress.Utils.DefaultBoolean.True;  //시리즈에 라벨 표시
            //   position_series[1].LabelsVisibility = DevExpress.Utils.DefaultBoolean.True;


            //ChartControl에 Series 추가
            chartControl2.Series.Add(angluar_result_series);
            // chartControl1.Series.Add(position_series[1]);

            chartControl2.CrosshairEnabled = DefaultBoolean.False;
            XYDiagram diagram = (XYDiagram)chartControl2.Diagram;

            diagram.AxisY.WholeRange.MaxValue         = 3.14;  // y축 최대값
            diagram.AxisY.WholeRange.MinValue         = -3.14; // y축 최소값
            diagram.AxisY.WholeRange.Auto             = false; // y축 범위 자동변경 설정
            diagram.AxisX.WholeRange.SideMarginsValue = 0;

            ConstantLine zeroLine = new ConstantLine();

            zeroLine.Color        = Color.LightYellow;
            zeroLine.AxisValue    = 0;
            zeroLine.ShowInLegend = false;
            diagram.AxisY.ConstantLines.Add(zeroLine);  // y값 0인 x축 생성
        }
Example #4
0
        public void Update_Voltage_Plot_for_Sensitivity(Sensitvity_Measurement mySensitivity)
        {
            chartControl_DATA_Top.Invoke((MethodInvoker) delegate
            {
                //Punkte aktualisieren
                chartControl_DATA_Top.RefreshData();

                //Bei bedarf die y-Achse verlängern
                //Min und Max finden
                decimal help_min = decimal.MaxValue;
                decimal help_max = decimal.MinValue;

                foreach (var messreihe in mySensitivity.Voltage_Values)
                {
                    foreach (var messpunkt in messreihe)
                    {
                        if (messpunkt.Voltage < help_min)
                        {
                            help_min = messpunkt.Voltage;
                        }
                        if (messpunkt.Voltage > help_max)
                        {
                            help_max = messpunkt.Voltage;
                        }
                    }
                }

                XYDiagram test = (XYDiagram)chartControl_DATA_Top.Diagram;
                test.AxisY.WholeRange.MaxValue  = help_max;         //Zugelassener Bereich
                test.AxisY.VisualRange.MaxValue = help_max;         //Sichtbarrer Bereich
                test.AxisY.WholeRange.MinValue  = help_min;         //Zugelassener Bereich
                test.AxisY.VisualRange.MinValue = help_min;         //Sichtbarrer Bereich
            });
        }
Example #5
0
        private void LoadYearMonthFPY()
        {
            DataTable dt = buTestValue.GetYearMonthFPY();

            this.chartControl3.Series.Clear();
            Series series1 = new Series("FPY", ViewType.Line);

            series1.DataSource        = dt;
            series1.ArgumentScaleType = ScaleType.Qualitative;

            // 以哪个字段进行显示
            series1.ArgumentDataMember = "months";
            series1.ValueScaleType     = ScaleType.Numerical;
            series1.Label.TextPattern  = "{v:0.00%}";
            series1.LabelsVisibility   = DevExpress.Utils.DefaultBoolean.True;

            // 柱状图里的柱的取值字段
            series1.ValueDataMembers.AddRange(new string[] { "ratio" });
            //绑定Series
            chartControl3.Series.Add(series1);
            XYDiagram diagram = (XYDiagram)chartControl3.Diagram;

            diagram.AxisX.GridSpacingAuto = false;
            diagram.AxisX.GridSpacing     = 1;

            diagram.AxisY.Label.TextPattern = "{v:0.00%}";
        }
Example #6
0
        private void siBOK_Click(object sender, EventArgs e)
        {
            if (string.IsNullOrEmpty(cBEHorizontal.Text.Trim()) && string.IsNullOrEmpty(cBEvertical.Text.Trim()))
            {
                MessageBox.Show("错误信息:\n纵轴的值:是必需的\n横轴的值:是必需的");
            }
            else
            {
                chartControl1.Series.Clear();
                UpdateSeries(CurrentTable);

                //Series Series1 = new Series("样方", ViewType.Point);
                //Series1.DataSource = pTable;
                //Series1.ArgumentScaleType = ScaleType.Numerical;
                //Series1.ArgumentDataMember = cBEHorizontal.Text;
                //Series1.ValueDataMembers[0] = cBEvertical.Text;
                chartControl1.Series.Add(Series1);
                Series Series2 = new Series("1:1线", ViewType.Line);
                ((LineSeriesView)Series2.View).LineStyle.DashStyle = DashStyle.Dot;
                XYDiagram diagram = (XYDiagram)chartControl1.Diagram;
                Series2.Points.Add(new SeriesPoint(diagram.AxisX.VisualRange.MinValue, diagram.AxisY.VisualRange.MinValue));
                double X = Convert.ToDouble(diagram.AxisX.VisualRange.MaxValue);
                double Y = Convert.ToDouble(diagram.AxisY.VisualRange.MaxValue);
                if (X >= Y)
                {
                    Series2.Points.Add(new SeriesPoint(diagram.AxisX.VisualRange.MaxValue, diagram.AxisX.VisualRange.MaxValue));
                }
                else
                {
                    Series2.Points.Add(new SeriesPoint(diagram.AxisY.VisualRange.MaxValue, diagram.AxisY.VisualRange.MaxValue));
                }
                chartControl1.Series.Add(Series2);
            }
        }
Example #7
0
        private void Form1_Load(object sender, EventArgs e)
        {
            pLinqServerModeSource.Source = SalesProductDataGenerator.GetData();

            #region #ControlRowSource
            // Assign a new instance of ControlRowSource to the chart's DataSource property.
            chartControl.DataSource = new ControlRowSource()
            {
                Control     = mainView,
                ControlRows = ControlRows.Selected
            };
            // Specify chart properties that configures series to display.
            chartControl.SeriesDataMember = "State";

            SeriesBase seriesTemplate = chartControl.SeriesTemplate;
            seriesTemplate.ArgumentDataMember = "Category";
            seriesTemplate.ValueDataMembers.AddRange("Revenue");
            // Configure additional chart properties.
            seriesTemplate.CrosshairLabelPattern  = "{S}: {V:C2}";
            seriesTemplate.SeriesPointsSorting    = SortingMode.Descending;
            seriesTemplate.SeriesPointsSortingKey = SeriesPointKey.Value_1;
            seriesTemplate.SummaryFunction        = "SUM([Revenue])";

            XYDiagram diagram = (XYDiagram)chartControl.Diagram;
            diagram.AxisY.Label.TextPattern = "{V:C0}";

            chartControl.Legend.AlignmentHorizontal = LegendAlignmentHorizontal.Right;
            chartControl.Legend.AlignmentVertical   = LegendAlignmentVertical.Top;
            #endregion #ControlRowSource
        }
        private void gvData_DoubleClick(object sender, EventArgs e)
        {
            if (this.gvData.FocusedRowHandle != GridControl.InvalidRowHandle && this.gvData.FocusedColumn != null)
            {
                StrategyDataItemInfo info = (StrategyDataItemInfo)this.gvData.FocusedColumn.Tag;
                if (info.DetailInfo != null)
                {
                    info = info.DetailInfo;
                }
                if (info.Type != DataType.ChartData)
                {
                    return;
                }
                info.Value = gvData.GetFocusedRow();
                ChartControl chart = new ChartControl()
                {
                    Dock = DockStyle.Fill
                };

                chart.BeginInit();
                XYDiagram dia = new XYDiagram();
                chart.Diagram = dia;

                StrategyDataVisualiser visualiser = new StrategyDataVisualiser();
                XtraTabPage            page       = new XtraTabPage();
                page.Text = info.Name;
                page.Controls.Add(chart);
                visualiser.Visualize(info, null, chart);
                chart.EndInit();

                this.tabControl.TabPages.Add(page);
            }
        }
        /// <summary>
        ///  바 차트 설정
        /// </summary>
        private void SetBarChart()
        {
            chartControl_Bar.Series.Clear();
            DataSet   ds = GetChartBarInfo(); // DB에서 바 차트 정보 가져오기
            DataTable dt = ds.Tables["DATA"];

            Series series = new Series("", ViewType.Bar);

            chartControl_Bar.Series.Add(series);

            chartControl_Bar.CrosshairEnabled = DefaultBoolean.False;

            XYDiagram diagram = (XYDiagram)chartControl_Bar.Diagram;

            diagram.AxisX.Label.TextPattern = "{A: yy-MM-dd}";  // X축 라벨 표시 형식
            //diagram.AxisY.WholeRange.MaxValue = 50;             // Y축 최대값
            //diagram.AxisY.WholeRange.MinValue = 0;              // Y축 최소값
            diagram.AxisX.WholeRange.MaxValue = 0;
            diagram.AxisY.WholeRange.Auto     = true;           // Y축 Min-Max값에 따라 유동적으로 설정
            diagram.EnableAxisXScrolling      = false;
            diagram.EnableAxisXZooming        = false;
            diagram.EnableAxisYScrolling      = false;
            diagram.EnableAxisYZooming        = false;

            series.DataSource         = dt;
            series.ArgumentDataMember = dt.Columns[0].ColumnName;
            series.ValueDataMembers.AddRange(new string[] { dt.Columns[1].ColumnName });
            series.LabelsVisibility = DefaultBoolean.True;
            (series.Label as BarSeriesLabel).Position = BarSeriesLabelPosition.Top; // 라벨 위치 막대그래프 위에 나타나도록
            series.Label.Border.Visibility            = DefaultBoolean.False;       // 라벨 데이터에 테두리 없애기
        }
Example #10
0
        public void AddSeriesPaneToChart(string textFormatString, object[] values, string[] labelStrings, Color color)
        {
            object[] array  = values;
            string[] months = labelStrings;
            Series   series = GetSeries(textFormatString, color, array, months);

            int seriesPosition           = chartControl1.Series.Add(series);
            XYDiagramSeriesViewBase view = (XYDiagramSeriesViewBase)series.View;

            XYDiagram diag         = chartControl1.Diagram as XYDiagram;
            int       axesPosition = diag.SecondaryAxesY.Add(new SecondaryAxisY());

            if (seriesPosition > 0)
            {
                XYDiagramPane pane = new XYDiagramPane();
                pane.SizeMode = PaneSizeMode.UseWeight;

                diag.Panes.Add(pane);
                diag.SecondaryAxesY[axesPosition].Alignment         = AxisAlignment.Near;
                diag.SecondaryAxesY[axesPosition].GridLines.Visible = true;
                view.AxisY = diag.SecondaryAxesY[axesPosition];
                view.Pane  = pane;
            }
            else
            {
                diag.SecondaryAxesY[seriesPosition].Visible = false;
                view.AxisX.Label.Angle = 90;
            }

            diag.EnableZooming   = true;
            diag.EnableScrolling = true;

            chartControl1.Height += 400;
        }
Example #11
0
        /// <summary>
        /// 是否显示折线图
        /// </summary>
        /// <param name="visible"></param>
        public void ShowLine(bool visible)
        {
            this.chartMain.Series[1].Visible = visible;
            XYDiagram diagram = this.chartMain.Diagram as XYDiagram;

            diagram.SecondaryAxesY[0].Visibility = visible ? DevExpress.Utils.DefaultBoolean.True : DevExpress.Utils.DefaultBoolean.False;
        }
Example #12
0
        /// <summary>
        /// 初始化
        /// </summary>
        private void InitChartData()
        {
            Series series1 = new Series("Series1", ViewType.Line);

            series1.Points.Add(new SeriesPoint(DateTime.Now, 2));
            series1.Points.Add(new SeriesPoint(DateTime.Now.AddHours(0.5), 12));
            series1.Points.Add(new SeriesPoint(DateTime.Now.AddHours(1), 14));
            series1.Points.Add(new SeriesPoint(DateTime.Now.AddHours(1.5), 17));

            chartControl1.Series.Add(series1);

            series1.ArgumentScaleType = ScaleType.DateTime;

            XYDiagram diagram = (XYDiagram)chartControl1.Diagram;

            diagram.AxisX.Title.Visibility         = DevExpress.Utils.DefaultBoolean.True;
            diagram.AxisX.Title.Alignment          = System.Drawing.StringAlignment.Center;
            diagram.AxisX.Title.Text               = "时间轴";
            diagram.AxisX.Title.EnableAntialiasing = DevExpress.Utils.DefaultBoolean.True;
            diagram.AxisX.Title.Font               = new System.Drawing.Font("Tahoma", 14, System.Drawing.FontStyle.Bold);

            diagram.AxisY.Title.Visibility         = DevExpress.Utils.DefaultBoolean.True;
            diagram.AxisY.Title.Alignment          = System.Drawing.StringAlignment.Center;
            diagram.AxisY.Title.Text               = "值";
            diagram.AxisY.Title.EnableAntialiasing = DevExpress.Utils.DefaultBoolean.True;
            diagram.AxisY.Title.Font               = new System.Drawing.Font("Tahoma", 14, System.Drawing.FontStyle.Bold);


            ((XYDiagram)chartControl1.Diagram).EnableAxisXScrolling = true;

            chartControl1.Legend.Visibility = DevExpress.Utils.DefaultBoolean.False;
            chartControl1.Titles.Add(new ChartTitle());
            chartControl1.Titles[0].Text = "区域变化折线图";
        }
Example #13
0
        public void BuildChart(int countS, int countE, DataTable dt, XRChart xrChart)
        {
            //6/25/2014 NS modified for VSPLUS-277
            xrChart.Series.Clear();
            Series series = null;

            for (int i = countS; i < countE; i++)
            {
                if (series == null)
                {
                    series = new Series("Server", ViewType.Bar);
                    series.ArgumentDataMember = dt.Columns["Server"].ToString();
                    series.ArgumentScaleType  = ScaleType.Qualitative;
                    series.ValueScaleType     = ScaleType.Numerical;
                }
                if (series != null)
                {
                    series.Points.Add(new SeriesPoint(dt.Rows[i]["Server"].ToString(), Convert.ToDouble(dt.Rows[i]["ResponseTime"].ToString())));
                    xrChart.Series.Add(series);
                    series = null;
                }
            }
            ((XYDiagram)xrChart1.Diagram).PaneLayoutDirection = PaneLayoutDirection.Horizontal;
            XYDiagram seriesXY = (XYDiagram)xrChart.Diagram;

            seriesXY.EnableAxisXScrolling = true;
            seriesXY.EnableAxisYScrolling = true;
            seriesXY.AxisX.Label.ResolveOverlappingOptions.AllowRotate = false;
            seriesXY.AxisX.Label.ResolveOverlappingOptions.AllowHide   = false;
            seriesXY.AxisY.Title.Text    = "Milliseconds";
            seriesXY.AxisY.Title.Visible = true;
            seriesXY.AxisX.Title.Visible = false;
            xrChart.DataSource           = dt;
        }
Example #14
0
        private void xrChart1_BeforePrint(object sender, System.Drawing.Printing.PrintEventArgs e)
        {
            DataTable dt = new DataTable();

            dt = VSWebBL.ReportsBL.ReportsBL.Ins.GetTravelerStatsSrv(this.Parameters["ServerName"].Value.ToString(), this.Parameters["TravelerName"].Value.ToString());
            xrChart1.SeriesDataMember = "Interval";
            xrChart1.SeriesTemplate.ArgumentDataMember = "DateUpdated";
            xrChart1.SeriesTemplate.ValueDataMembers.AddRange(new string[] { "OpenTimes" });
            xrChart1.SeriesTemplate.View = new SideBySideBarSeriesView();
            xrChart1.SeriesTemplate.ChangeView(ViewType.Line);
            LineSeriesView view = (LineSeriesView)xrChart1.SeriesTemplate.View;

            view.LineMarkerOptions.Visible = false;
            xrChart1.Legend.Visible        = true;

            XYDiagram seriesXY = (XYDiagram)xrChart1.Diagram;

            seriesXY.AxisX.Title.Text    = "Time";
            seriesXY.AxisX.Title.Visible = true;
            seriesXY.AxisX.Label.ResolveOverlappingOptions.AllowRotate = true;
            seriesXY.AxisX.Label.ResolveOverlappingOptions.AllowHide   = false;
            //4/18/2014 NS commented out for VSPLUS-312
            //seriesXY.AxisX.DateTimeGridAlignment = DateTimeMeasurementUnit.Minute;
            seriesXY.AxisX.DateTimeMeasureUnit       = DateTimeMeasurementUnit.Minute;
            seriesXY.AxisX.DateTimeOptions.Format    = DateTimeFormat.ShortTime;
            seriesXY.AxisY.Range.AlwaysShowZeroLevel = false;
            seriesXY.AxisY.Title.Text    = "Open Times";
            seriesXY.AxisY.Title.Visible = true;
            if (dt.Rows.Count > 0)
            {
                xrChart1.DataSource = dt;
            }
        }
        private XYDiagramPaneBase CheckAddPanel(StrategyDataItemInfo info)
        {
            XYDiagram diagram = (XYDiagram)Chart.Diagram;

            if (diagram == null)
            {
                return(null);
            }
            diagram.AxisY.WholeRange.AlwaysShowZeroLevel = false;
            if (info.PanelName == "Default")
            {
                return(diagram.DefaultPane);
            }
            XYDiagramPane pane = null;

            if (diagram.Panes[info.PanelName] != null)
            {
                pane = diagram.Panes[info.PanelName];
            }
            IResizeableArray items = GetDataSource(info) as IResizeableArray;

            if (items != null && !(GetArgumentValue(info, items.GetItem(0)) is DateTime))
            {
                if (info.PanelName == "Default")
                {
                }
                else
                {
                    SecondaryAxisX axisX = new SecondaryAxisX();
                    axisX.Name = info.AxisXName;
                    diagram.SecondaryAxesX.Add(axisX);
                }
            }

            if (pane == null || info.Reversed)
            {
                SecondaryAxisY axis = new SecondaryAxisY();
                axis.Assign(diagram.AxisY);
                axis.Name    = info.AxisYName;
                axis.Reverse = info.Reversed;
                diagram.SecondaryAxesY.Add(axis);
            }
            if (pane == null)
            {
                pane = new XYDiagramPane()
                {
                    Name = info.PanelName
                };
                diagram.Panes.Add(pane);
                Legend l = new Legend();
                l.Assign(Chart.Legend); l.Name = info.PanelName;
                l.DockTarget = pane;
                Chart.Legends.Add(l);
            }
            if (!info.PanelVisible)
            {
                pane.Visibility = ChartElementVisibility.Hidden;
            }
            return(pane);
        }
        private void BarChartForm_Load(object sender, EventArgs e)
        {
            titleLabel.Text = "Dane pacjenta " + pesel;

            hourListBox.Items.Add("wszystkie pomiary");
            hourListBox.Items.Add("poranne pomiary");
            hourListBox.Items.Add("wieczorne pomiary");

            ds = db.getPatiensMeasures(pesel);

            pulse.View.Color = System.Drawing.Color.Green;

            XYDiagram diagram = (XYDiagram)pressureChartControl.Diagram;

            diagram.AxisX.VisualRange.SetMinMaxValues(10, 200);
            diagram.AxisX.WholeRange.SetMinMaxValues(10, 200);
            diagram.AxisY.VisualRange.SetMinMaxValues(10, 100);
            diagram.AxisY.WholeRange.SetMinMaxValues(10, 100);
            BarSeriesView myView = (BarSeriesView)systolic.View;

            myView.BarWidth = 8;
            myView          = (BarSeriesView)diastolic.View;
            myView.BarWidth = 8;

            diagram = (XYDiagram)pulseChartControl.Diagram;
            diagram.AxisX.VisualRange.SetMinMaxValues(10, 200);
            diagram.AxisX.WholeRange.SetMinMaxValues(10, 200);
            diagram.AxisY.VisualRange.SetMinMaxValues(10, 100);
            diagram.AxisY.WholeRange.SetMinMaxValues(10, 100);
            myView          = (BarSeriesView)pulse.View;
            myView.BarWidth = 8;
        }
Example #17
0
        /// <summary>
        /// 创建基准线ConstantLine
        /// </summary>
        /// <param name="chart">ChartControl</param>
        /// <param name="ctAxisValue">基准线数值</param>
        /// <param name="ctLegendText">基准线图例文字</param>
        /// <param name="ctTitle">基准线文字</param>
        /// <param name="ctTitleColor">基准线字体颜色</param>
        /// <param name="ctLineColor">基准线颜色</param>
        /// <param name="ctLineStyle">基准线样式</param>
        public static void CreateConstantLine(this ChartControl chart, int ctAxisValue, string ctLegendText, string ctTitle, Color ctTitleColor, Color ctLineColor, DashStyle ctLineStyle)
        {
            if (chart.Diagram is XYDiagram)
            {
                XYDiagram _diagram = (XYDiagram)chart.Diagram;
                if (_diagram != null)
                {
                    ConstantLine _ctLine = new ConstantLine();

                    _ctLine.AxisValue    = ctAxisValue;
                    _ctLine.Visible      = true;
                    _ctLine.ShowInLegend = true;
                    _ctLine.LegendText   = ctLegendText;
                    _ctLine.ShowBehind   = false;

                    _ctLine.Title.Visible       = true;
                    _ctLine.Title.Text          = ctTitle;
                    _ctLine.Title.TextColor     = ctTitleColor;
                    _ctLine.Title.Antialiasing  = false;
                    _ctLine.Title.Font          = new Font("Tahoma", 14, FontStyle.Bold);
                    _ctLine.Title.ShowBelowLine = true;
                    _ctLine.Title.Alignment     = ConstantLineTitleAlignment.Far;

                    _ctLine.Color = ctLineColor;
                    _ctLine.LineStyle.DashStyle = ctLineStyle;
                    _ctLine.LineStyle.Thickness = 2;

                    _diagram.AxisY.ConstantLines.Add(_ctLine);
                }
            }
        }
        private void Form1_Load(object sender, EventArgs e)
        {
            // Get several required objects.
            XYDiagram diagram = chart.Diagram as XYDiagram;

            if (diagram == null)
            {
                return;
            }
            FinancialSeriesViewBase view = FinancialSeries.View as FinancialSeriesViewBase;

            if (view == null)
            {
                return;
            }
            Indicator macd = view.Indicators.GetElementByName("MACD") as Indicator;

            #region #AddAdditionalLegend
            // Create a new instance of Legend.
            Legend macdLegend = new Legend();
            chart.Legends.Add(macdLegend);
            // Position it.
            macdLegend.DockTarget          = diagram.Panes.GetPaneByName("macdPane");
            macdLegend.AlignmentHorizontal = LegendAlignmentHorizontal.Left;
            macdLegend.AlignmentVertical   = LegendAlignmentVertical.Top;

            // Assign the data displayed in legend.
            macd.Legend = macdLegend;
            #endregion #AddAdditionalLegend
        }
Example #19
0
        private void bsPanes_GetItemData(object sender, EventArgs e)
        {
            if (this.bsPanes.ItemLinks.Count != 0)
            {
                return;
            }
            XYDiagram dg = (XYDiagram)this.chartControl.Diagram;

            if (dg == null)
            {
                return;
            }
            foreach (XYDiagramPane item in dg.Panes)
            {
                BarCheckItem ch = new BarCheckItem(this.barManager1)
                {
                    Caption = item.Name, Checked = item.Visibility == ChartElementVisibility.Visible
                };
                ch.AllowStubGlyph      = DefaultBoolean.False;
                ch.CloseSubMenuOnClick = false;
                ch.Tag             = item;
                ch.CheckedChanged += OnPaneCheckedChanged;
                this.bsPanes.ItemLinks.Add(ch);
            }
        }
        private void Form1_Load(object sender, EventArgs e)
        {
            XYDiagram diagram = (XYDiagram)chartControl1.Diagram;

            // Define the visual range for the primary X-axis.
            diagram.AxisX.VisualRange.MinValue = 3;
            diagram.AxisX.VisualRange.MaxValue = 6;

            // Define the visual range for the secondary X-axis.
            diagram.SecondaryAxesX[0].VisualRange.MinValue = "A";
            diagram.SecondaryAxesX[0].VisualRange.MaxValue = "G";

            // Enable the X-axis scrolling at the diagram's level.
            // By default, it then becomes enabled at the panes' level, as well.
            diagram.EnableAxisXScrolling = true;

            // Define the whole range for the primary X-axis.
            diagram.AxisX.WholeRange.MinValue = 2;
            diagram.AxisX.WholeRange.MaxValue = 7;

            // Define the whole range for the secondary X-axis.
            diagram.SecondaryAxesX[0].WholeRange.MinValue = "A";
            diagram.SecondaryAxesX[0].WholeRange.MaxValue = "H";

            // Disable the side margins.
            diagram.AxisX.WholeRange.AutoSideMargins = false;
        }
Example #21
0
        /// <summary>
        /// 根据combox所选字段名,重新生成图表
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void comboBoxEdit1_SelectedIndexChanged(object sender, EventArgs e)
        {
            //清除图表数据,重新载入数据
            for (int i = 0; i < StatisticsChart_chart2.Series.Count; i++)
            {
                StatisticsChart_chart2.Series.RemoveAt(i);
            }
            Series series = new Series("", ViewType.Bar);

            for (int i = 0; i < gridview.RowCount; i++)
            {
                series.Points.Add(new SeriesPoint(gridview.GetRowCellValue(i, "*FID"), gridview.GetRowCellValue(i, comboBoxEdit1.Text)));
            }
            StatisticsChart_chart2.Series.Add(series);
            //生成X坐标轴名称
            XYDiagram diagram = (XYDiagram)StatisticsChart_chart2.Diagram;

            diagram.AxisX.Title.Visible   = true;
            diagram.AxisX.Title.Alignment = StringAlignment.Center;
            diagram.AxisX.Title.Text      = "*FID";
            //生成Y坐标轴名称
            diagram.AxisY.Title.Visible   = true;
            diagram.AxisY.Title.Alignment = StringAlignment.Center;
            diagram.AxisY.Title.Text      = comboBoxEdit1.SelectedText;
        }
        private void ChildFormBalanceSheet_Load(object sender, EventArgs e)
        {
            financialStatementModelBindingSource.DataSource = FinancialStatementDao.GetFinancialStatements();
            diagram = (XYDiagram)BalanceChart.Diagram;

            BalanceChart.Animate();
        }
Example #23
0
 Annotation GetHoveredAnnotation(Point mouseLocation)
 {
     foreach (Annotation annotation in Chart.AnnotationRepository)
     {
         PaneAnchorPoint anchorPoint = (PaneAnchorPoint)annotation.AnchorPoint;
         XYDiagram       diagram     = ((XYDiagram)Chart.Diagram);
         DateTime        argument    = (DateTime)anchorPoint.AxisXCoordinate.AxisValue;
         if ((DateTime)diagram.AxisX.VisualRange.MaxValue < argument || (DateTime)diagram.AxisX.VisualRange.MinValue > argument)
         {
             continue;
         }
         ControlCoordinates coords = diagram.DiagramToPoint((DateTime)anchorPoint.AxisXCoordinate.AxisValue,
                                                            (double)anchorPoint.AxisYCoordinate.AxisValue,
                                                            anchorPoint.AxisXCoordinate.Axis, anchorPoint.AxisYCoordinate.Axis, anchorPoint.Pane);
         if (coords.Visibility == ControlCoordinatesVisibility.Visible)
         {
             RelativePosition position = (RelativePosition)annotation.ShapePosition;
             Point            center   = new Point((int)(coords.Point.X + Math.Cos(position.Angle / 180 * Math.PI) * position.ConnectorLength),
                                                   (int)(coords.Point.Y - Math.Sin(position.Angle / 180 * Math.PI) * position.ConnectorLength));
             int diffX = Math.Abs(center.X - mouseLocation.X);
             int diffY = Math.Abs(center.Y - mouseLocation.Y);
             if (diffX <= annotation.Width / 2 && diffY <= annotation.Height / 2)
             {
                 return(annotation);
             }
         }
     }
     return(null);
 }
Example #24
0
        private void SetDiagramTimeRange(XYDiagram diagram, int diff)
        {
            try
            {
                if (diff != 0)
                {
                    DateTime dt1 = DateTime.Now.AddMinutes(diff);
                    DateTime dt2 = DateTime.Now.AddMinutes(-1 * diff);

                    maskedTextBox1.Text = dt1.Year.ToString("D4") + "년" + dt1.Month.ToString("D2") + "월" + dt1.Day.ToString("D2") + "일 " + dt1.Hour.ToString("D2") + "시" + dt1.Minute.ToString("D2") + "분";
                    maskedTextBox2.Text = dt2.Year.ToString("D4") + "년" + dt2.Month.ToString("D2") + "월" + dt2.Day.ToString("D2") + "일 " + dt2.Hour.ToString("D2") + "시" + dt2.Minute.ToString("D2") + "분";
                }


                DateTime t_Datetime_Maxvalue = DateTime.Parse(maskedTextBox1.Text.Trim());
                diagram.AxisX.VisualRange.MaxValue = t_Datetime_Maxvalue;
                diagram.AxisX.WholeRange.MaxValue  = t_Datetime_Maxvalue;

                DateTime t_Datetime_Minvalue = DateTime.Parse(maskedTextBox2.Text.Trim());
                diagram.AxisX.VisualRange.MinValue = t_Datetime_Minvalue;
                diagram.AxisX.WholeRange.MinValue  = t_Datetime_Minvalue;
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
        }
Example #25
0
        protected virtual void AddYAxes(ChartData <TX, TY> chartData, XYDiagram diagram, bool showPaneCaptioninAxisCaption = true)
        {
            diagram.SecondaryAxesY.Clear();

            if (!chartData.Panes.Any())
            {
                return;
            }

            //only one pane
            if (chartData.Panes.Count == 1)
            {
                diagram.AxisY.Visibility        = DefaultBoolean.True;
                diagram.AxisY.GridLines.Visible = true;
                initializeAxis(diagram.AxisY, chartData.Panes.First().Axis);
            }
            else
            {
                foreach (var paneData in chartData.Panes)
                {
                    var yAxis = new SecondaryAxisY(paneData.Id);
                    initializeAxis(yAxis, paneData.Axis);
                    diagram.SecondaryAxesY.Add(yAxis);
                }
                purgeMultipleSameAxisTitles(diagram);

                diagram.AxisY.Visibility        = DefaultBoolean.False;
                diagram.AxisY.GridLines.Visible = false;
            }
        }
Example #26
0
        private void checkBox5_CheckedChanged(object sender, EventArgs e)
        {
            CheckBox  a        = (CheckBox)sender;
            XYDiagram diagram  = (XYDiagram)chartControl1.Diagram;
            XYDiagram diagram1 = (XYDiagram)chartControl2.Diagram;
            XYDiagram diagram2 = (XYDiagram)chartControl3.Diagram;

            if (a.Checked)
            {
                diagram.AxisX.WholeRange.Auto  = true;
                diagram.AxisX.VisualRange.Auto = true;

                diagram1.AxisX.WholeRange.Auto  = true;
                diagram1.AxisX.VisualRange.Auto = true;

                diagram2.AxisX.WholeRange.Auto  = true;
                diagram2.AxisX.VisualRange.Auto = true;
            }
            else
            {
                diagram.AxisX.WholeRange.Auto  = false;
                diagram.AxisX.VisualRange.Auto = false;

                diagram1.AxisX.WholeRange.Auto  = false;
                diagram1.AxisX.VisualRange.Auto = false;

                diagram2.AxisX.WholeRange.Auto  = false;
                diagram2.AxisX.VisualRange.Auto = false;
            }
        }
Example #27
0
                private void DrawBars()
                {
                        this.chartControl1.Series.Clear();
                        foreach (string _yfield in AxisYFields)
                        {
                                Series _se = new DevExpress.XtraCharts.Series();
                                _se.PointOptionsTypeName = "PointOptions";
                                _se.PointOptions.ValueNumericOptions.Format = DevExpress.XtraCharts.NumericFormat.Number;
                                _se.PointOptions.ValueNumericOptions.Precision = DataPrecision;
                                _se.ValueDataMembers.Clear();
                                _se.DataSource = chartData;
                                _se.ArgumentDataMember = AxisXField;
                                _se.ValueDataMembers.AddRange(new string[] { _yfield });
                                _se.LegendText = AxisYTitle[_yfield];
                                this.chartControl1.Series.Add(_se);
                        }
                        int _rowCount = chartData.Rows.Count;
                        if (_rowCount > 4 && _rowCount <= 8)
                        {
                                XYDiagram _xyDiagram = this.chartControl1.Diagram as XYDiagram;
                                _xyDiagram.AxisX.Label.Staggered = true;
                        }

                        if (_rowCount > 8)
                        {
                                XYDiagram _xyDiagram = this.chartControl1.Diagram as XYDiagram;
                                _xyDiagram.AxisX.Label.Staggered = false;
                                _xyDiagram.AxisX.Label.Angle = 45;
                        }


                }
Example #28
0
        public TrendViewer()
        {
            InitializeComponent();



            XYDiagram diagram  = (XYDiagram)chartControl1.Diagram;
            XYDiagram diagram1 = (XYDiagram)chartControl2.Diagram;
            XYDiagram diagram2 = (XYDiagram)chartControl3.Diagram;

            diagram.AxisX.Label.TextPattern  = "{A: yy/MM/dd hh:mm}";
            diagram1.AxisX.Label.TextPattern = "{A: yy/MM/dd hh:mm}";
            diagram2.AxisX.Label.TextPattern = "{A: yy/MM/dd hh:mm}";

            diagram.AxisX.DateTimeScaleOptions.ScaleMode  = ScaleMode.Continuous;
            diagram1.AxisX.DateTimeScaleOptions.ScaleMode = ScaleMode.Continuous;
            diagram2.AxisX.DateTimeScaleOptions.ScaleMode = ScaleMode.Continuous;

            sqlDataSource1.Fill();

            timer1.Interval = 1000;      // 1초

            timer1.Tick += new EventHandler(timer1_Tick);
            timer1.Start();
            // This line of code is generated by Data Source Configuration Wizard
            // Fill a SqlDataSource
        }
Example #29
0
        public void drawLine(double[] ArrVal, System.Int32[] ArrFreq, int valueCount)
        {
            maxValue        = ArrVal.Max();
            minValue        = ArrVal.Min();
            this.valueCount = valueCount;
            chartControl1.Series[0].Points.RemoveRange(0, chartControl1.Series[0].Points.Count);
            XYDiagram  diagram = (XYDiagram)chartControl1.Diagram;
            WholeRange range   = diagram.AxisX.WholeRange;

            range.SetMinMaxValues(0, maxValue);
            chartControl1.Refresh();
            for (int i = panelControl9.Controls.Count; i > 0; i--)
            {
                panelControl9.Controls.RemoveAt(i - 1);
            }
            if (ArrFreq.Length == 0)
            {
                XtraMessageBox.Show("当前属性无法自定义分级,请换一个");
                return;
            }
            #region 添加点值
            for (int i = 0; i < ArrVal.Length; i++)
            {
                SeriesPoint point = new SeriesPoint();
                point.Argument = ArrVal[i].ToString();
                double[] value = new double[1];
                value[0]     = Convert.ToDouble(ArrFreq[i]);
                point.Values = value;
                chartControl1.Series[0].Points.Add(point);
            }
            drawConstantline();
            #endregion
        }
Example #30
0
 private void chartControl1_MouseMove(object sender, MouseEventArgs e)
 {
     if (mouseDown)
     {
         if (curruentConstantLine != null)
         {
             //this.Cursor = System.Windows.Forms.Cursors.VSplit;
             XYDiagram          diagram     = (XYDiagram)chartControl1.Diagram;
             DiagramCoordinates coordinates = diagram.PointToDiagram(e.Location);
             if (coordinates.NumericalArgument >= minValue)
             {
                 curruentConstantLine.AxisValue = coordinates.NumericalArgument;
                 curruentConstantLine.Name      = string.Format("{0:############0.#######}", coordinates.NumericalArgument);
                 foreach (var tL in textAndLine)
                 {
                     tL.textEdit.Text = tL.constantLine.Name;
                 }
             }
         }
     }
     else
     {
         ChartHitInfo hitinfo = chartControl1.CalcHitInfo(e.X, e.Y);
         if (hitinfo.ConstantLine != null)
         {
             this.Cursor = System.Windows.Forms.Cursors.VSplit;
         }
     }
 }
Example #31
0
        public static void InitChartControl(this ChartControl chartControl, DateTime dtFromDt, DateTime dtToDt)
        {
            XYDiagram diagram = (XYDiagram)chartControl.Diagram;

            int yearVal  = Convert.ToInt32(dtFromDt.ToString("yyyy"));
            int monthVal = Convert.ToInt32(dtFromDt.ToString("MM"));
            int dayVal   = Convert.ToInt32(dtFromDt.ToString("dd"));

            int toYearVal  = Convert.ToInt32(dtToDt.ToString("yyyy"));
            int toMonthVal = Convert.ToInt32(dtToDt.ToString("MM"));
            int toDayVal   = Convert.ToInt32(dtToDt.ToString("dd"));

            diagram.AxisX.Label.TextPattern = "{A:MM-dd HH:mm}";
            diagram.AxisX.DateTimeScaleOptions.MeasureUnit   = DevExpress.XtraCharts.DateTimeMeasureUnit.Minute;
            diagram.AxisX.DateTimeScaleOptions.GridAlignment = DevExpress.XtraCharts.DateTimeGridAlignment.Hour;

            diagram.AxisX.WholeRange.SetMinMaxValues(new DateTime(yearVal, monthVal, dayVal, 0, 0, 0), new DateTime(toYearVal, toMonthVal, toDayVal, 23, 59, 0));
            diagram.AxisX.VisualRange.SetMinMaxValues(new DateTime(yearVal, monthVal, dayVal, 0, 0, 0), new DateTime(yearVal, monthVal, dayVal, 23, 59, 0));

            diagram.AxisX.WholeRange.SideMarginsValue  = 20;
            diagram.AxisX.VisualRange.SideMarginsValue = 20;


            //chartControl.Legend.AlignmentHorizontal = DevExpress.XtraCharts.LegendAlignmentHorizontal.Left;
            //chartControl.Legend.AlignmentVertical = DevExpress.XtraCharts.LegendAlignmentVertical.TopOutside;
            //chartControl.Legend.Direction = DevExpress.XtraCharts.LegendDirection.LeftToRight;
            // https://docs.devexpress.com/CoreLibraries/DevExpress.XtraCharts.Legend.MarkerMode
            //chartControl.Legend.MarkerMode = LegendMarkerMode.CheckBoxAndMarker;
        }
 private void InitializeComponent()
 {
     this.components = new Container();
     XYDiagram diagram = new XYDiagram();
     Series series = new Series();
     LineSeriesView view = new LineSeriesView();
     LineSeriesView view2 = new LineSeriesView();
     this.gpgChart = new GPGChartControl(this.components);
     this.btnCalculate = new GPGButton();
     this.tbMinutes = new GPGTextBox();
     this.gpgLabel2 = new GPGLabel();
     this.lStatus = new GPGLabel();
     this.deDate = new DateEdit();
     ((ISupportInitialize) this.gpgChart).BeginInit();
     ((ISupportInitialize) diagram).BeginInit();
     ((ISupportInitialize) series).BeginInit();
     ((ISupportInitialize) view).BeginInit();
     ((ISupportInitialize) view2).BeginInit();
     this.tbMinutes.Properties.BeginInit();
     this.deDate.Properties.BeginInit();
     base.SuspendLayout();
     base.ttDefault.DefaultController.AutoPopDelay = 0x3e8;
     this.gpgChart.Anchor = AnchorStyles.Right | AnchorStyles.Left | AnchorStyles.Bottom | AnchorStyles.Top;
     this.gpgChart.AppearanceName = "Northern Lights";
     diagram.AxisX.Tickmarks.MinorVisible = false;
     diagram.AxisX.GridLines.Visible = true;
     diagram.AxisX.GridSpacingAuto = false;
     diagram.AxisX.Label.Angle = 90;
     diagram.AxisX.Label.Visible = false;
     diagram.AxisX.Title.Visible = true;
     diagram.AxisX.Title.Text = "User Connections";
     diagram.AxisX.GridSpacing = 0.01;
     diagram.AxisX.MinorCount = 1;
     diagram.AxisX.Interlaced = true;
     this.gpgChart.Diagram = diagram;
     this.gpgChart.Legend.Visible = false;
     this.gpgChart.Location = new Point(0x13, 0x65);
     this.gpgChart.Name = "gpgChart";
     series.PointOptionsTypeName = "PointOptions";
     series.View = view;
     series.Name = "Logins";
     this.gpgChart.Series.AddRange(new Series[] { series });
     this.gpgChart.SeriesTemplate.PointOptionsTypeName = "PointOptions";
     this.gpgChart.SeriesTemplate.View = view2;
     this.gpgChart.Size = new Size(0x256, 0x120);
     this.gpgChart.TabIndex = 7;
     this.btnCalculate.Anchor = AnchorStyles.Right | AnchorStyles.Bottom;
     this.btnCalculate.Location = new Point(0x1ee, 0x18b);
     this.btnCalculate.LookAndFeel.SkinName = "London Liquid Sky";
     this.btnCalculate.LookAndFeel.UseDefaultLookAndFeel = false;
     this.btnCalculate.Name = "btnCalculate";
     this.btnCalculate.Size = new Size(0x7f, 0x17);
     this.btnCalculate.TabIndex = 8;
     this.btnCalculate.Text = "<LOC>Calculate Stats";
     this.btnCalculate.UseVisualStyleBackColor = false;
     this.btnCalculate.Click += new EventHandler(this.btnCalculate_Click);
     this.tbMinutes.EditValue = "60";
     this.tbMinutes.Location = new Point(0x6c, 0x4b);
     this.tbMinutes.Name = "tbMinutes";
     this.tbMinutes.Properties.Appearance.BackColor = Color.Black;
     this.tbMinutes.Properties.Appearance.BorderColor = Color.FromArgb(0x52, 0x83, 190);
     this.tbMinutes.Properties.Appearance.ForeColor = Color.White;
     this.tbMinutes.Properties.Appearance.Options.UseBackColor = true;
     this.tbMinutes.Properties.Appearance.Options.UseBorderColor = true;
     this.tbMinutes.Properties.Appearance.Options.UseForeColor = true;
     this.tbMinutes.Properties.AppearanceFocused.BackColor = Color.FromArgb(0x10, 0x21, 0x4f);
     this.tbMinutes.Properties.AppearanceFocused.BackColor2 = Color.FromArgb(0, 0, 0);
     this.tbMinutes.Properties.AppearanceFocused.BorderColor = Color.FromArgb(0xbb, 0xc9, 0xe2);
     this.tbMinutes.Properties.AppearanceFocused.GradientMode = LinearGradientMode.ForwardDiagonal;
     this.tbMinutes.Properties.AppearanceFocused.Options.UseBackColor = true;
     this.tbMinutes.Properties.AppearanceFocused.Options.UseBorderColor = true;
     this.tbMinutes.Properties.BorderStyle = BorderStyles.Simple;
     this.tbMinutes.Properties.DisplayFormat.FormatType = FormatType.Numeric;
     this.tbMinutes.Properties.EditFormat.FormatType = FormatType.Numeric;
     this.tbMinutes.Properties.LookAndFeel.SkinName = "London Liquid Sky";
     this.tbMinutes.Properties.LookAndFeel.UseDefaultLookAndFeel = false;
     this.tbMinutes.Size = new Size(100, 20);
     this.tbMinutes.TabIndex = 10;
     this.gpgLabel2.AutoSize = true;
     this.gpgLabel2.AutoStyle = true;
     this.gpgLabel2.Font = new Font("Arial", 9.75f);
     this.gpgLabel2.ForeColor = Color.White;
     this.gpgLabel2.IgnoreMouseWheel = false;
     this.gpgLabel2.IsStyled = false;
     this.gpgLabel2.Location = new Point(20, 0x4c);
     this.gpgLabel2.Name = "gpgLabel2";
     this.gpgLabel2.Size = new Size(0x52, 0x10);
     this.gpgLabel2.TabIndex = 12;
     this.gpgLabel2.Text = "Minute Ticks";
     this.gpgLabel2.TextStyle = TextStyles.Default;
     this.lStatus.AutoSize = true;
     this.lStatus.AutoStyle = true;
     this.lStatus.Font = new Font("Arial", 9.75f);
     this.lStatus.ForeColor = Color.White;
     this.lStatus.IgnoreMouseWheel = false;
     this.lStatus.IsStyled = false;
     this.lStatus.Location = new Point(0x16b, 0x4f);
     this.lStatus.Name = "lStatus";
     this.lStatus.Size = new Size(0x43, 0x10);
     this.lStatus.TabIndex = 13;
     this.lStatus.Text = "gpgLabel1";
     this.lStatus.TextStyle = TextStyles.Default;
     this.lStatus.Visible = false;
     this.deDate.EditValue = null;
     this.deDate.Location = new Point(0xd6, 0x4b);
     this.deDate.Name = "deDate";
     this.deDate.Properties.Appearance.BackColor = Color.Black;
     this.deDate.Properties.Appearance.ForeColor = Color.White;
     this.deDate.Properties.Appearance.Options.UseBackColor = true;
     this.deDate.Properties.Appearance.Options.UseForeColor = true;
     this.deDate.Properties.BorderStyle = BorderStyles.Simple;
     this.deDate.Properties.Buttons.AddRange(new EditorButton[] { new EditorButton(ButtonPredefines.Combo) });
     this.deDate.Size = new Size(0x8f, 20);
     this.deDate.TabIndex = 14;
     base.AutoScaleDimensions = new SizeF(7f, 13f);
     base.AutoScaleMode = AutoScaleMode.Font;
     base.ClientSize = new Size(640, 480);
     base.Controls.Add(this.deDate);
     base.Controls.Add(this.lStatus);
     base.Controls.Add(this.gpgLabel2);
     base.Controls.Add(this.tbMinutes);
     base.Controls.Add(this.btnCalculate);
     base.Controls.Add(this.gpgChart);
     base.Location = new Point(0, 0);
     base.Name = "DlgConnectionsGraph";
     this.Text = "DlgConnectionsGraph";
     base.Controls.SetChildIndex(this.gpgChart, 0);
     base.Controls.SetChildIndex(this.btnCalculate, 0);
     base.Controls.SetChildIndex(this.tbMinutes, 0);
     base.Controls.SetChildIndex(this.gpgLabel2, 0);
     base.Controls.SetChildIndex(this.lStatus, 0);
     base.Controls.SetChildIndex(this.deDate, 0);
     ((ISupportInitialize) diagram).EndInit();
     ((ISupportInitialize) view).EndInit();
     ((ISupportInitialize) series).EndInit();
     ((ISupportInitialize) view2).EndInit();
     ((ISupportInitialize) this.gpgChart).EndInit();
     this.tbMinutes.Properties.EndInit();
     this.deDate.Properties.EndInit();
     base.ResumeLayout(false);
     base.PerformLayout();
 }
Example #33
0
        private void botonVerGrafica_Click(object sender, EventArgs e)
        {
            chartControl1.Series.Clear();
            var grafica =
                new EmpeñosDC(new clsConeccionDB().StringConn()).Cajas.Where(
                    c =>
                        c.FechaCajaAbierto.Date >= dtpFechaInicial.DateTime.Date &&
                        c.FechaCajaAbierto.Date <= dtpFechaFinal.DateTime.Date);
            switch (cboTipoDato.SelectedIndex)
            {
                case 0:
                    {
                        Series empeño = new Series("Empeños", ViewType.Line);
                        switch (cboTipoMuestra.SelectedIndex)
                        {
                            case 0:

                                foreach (var caja in grafica)
                                {
                                    empeño.Points.Add(new SeriesPoint(caja.FechaCajaAbierto.ToString("dd-MMM-yy"), caja.TotalEmpenios));
                                }
                                chartControl1.Series.Add(empeño);
                                _diagram = (XYDiagram)chartControl1.Diagram;
                                _diagram.AxisX.DateTimeOptions.Format = DateTimeFormat.Custom;
                                _diagram.AxisX.DateTimeOptions.FormatString = "dd-MMM-yy";
                                _diagram.AxisY.NumericOptions.Format = NumericFormat.Currency;
                                _diagram.AxisY.NumericOptions.Precision = 1;
                                break;
                            case 1:
                                var empMes = from em in grafica
                                             group em by new
                                             {
                                                 Column1 =em.FechaCajaAbierto.Month
                                             }
                                                 into g
                                                 select new
                                                 {
                                                     Mes = g.Key.Column1,
                                                     Total = (Decimal?)g.Sum(em => em.TotalEmpenios)
                                                 };
                                foreach (var caja in empMes)
                                {
                                    empeño.Points.Add(new SeriesPoint(CultureInfo.CurrentCulture.DateTimeFormat.GetMonthName(caja.Mes), caja.Total));
                                }
                                chartControl1.Series.Add(empeño);
                                _diagram = (XYDiagram)chartControl1.Diagram;
                                 _diagram.AxisX.DateTimeOptions.Format = DateTimeFormat.Custom;
                                _diagram.AxisX.DateTimeOptions.FormatString = "MMM";
                                _diagram.AxisY.NumericOptions.Format = NumericFormat.Currency;
                                _diagram.AxisY.NumericOptions.Precision = 1;
                                break;
                            case 2:
                                var empAnio = from em in grafica
                                             group em by new
                                             {
                                                 Column1 =em.FechaCajaAbierto.Year
                                             }
                                                 into g
                                                 select new
                                                 {
                                                     Mes = g.Key.Column1,
                                                     Total = (Decimal?)g.Sum(em => em.TotalEmpenios)
                                                 };
                                foreach (var caja in empAnio)
                                {
                                    empeño.Points.Add(new SeriesPoint(caja.Mes, caja.Total));
                                }
                                chartControl1.Series.Add(empeño);
                                _diagram = (XYDiagram)chartControl1.Diagram;
                                _diagram.AxisX.DateTimeOptions.Format = DateTimeFormat.Custom;
                                _diagram.AxisX.DateTimeOptions.FormatString = "yyyy";
                                _diagram.AxisY.NumericOptions.Format = NumericFormat.Currency;
                                _diagram.AxisY.NumericOptions.Precision = 1;
                                break;
                        }
                    }
                    break;
                case 1:
                    {
                        Series intSeries = new Series("Intereses", ViewType.Line);
                        switch (cboTipoMuestra.SelectedIndex)
                        {
                            case 0:

                                foreach (var caja in grafica)
                                {
                                    intSeries.Points.Add(new SeriesPoint(caja.FechaCajaAbierto.ToString("dd-MMM-yy"), caja.InteresCobrados));
                                }
                                chartControl1.Series.Add(intSeries);
                                _diagram = (XYDiagram)chartControl1.Diagram;
                                _diagram.AxisX.DateTimeOptions.Format = DateTimeFormat.Custom;
                                _diagram.AxisX.DateTimeOptions.FormatString = "dd-MMM-yy";
                                _diagram.AxisY.NumericOptions.Format = NumericFormat.Currency;
                                _diagram.AxisY.NumericOptions.Precision = 1;
                                break;
                            case 1:
                                var empMes = from em in grafica
                                             group em by new
                                             {
                                                 Column1 = em.FechaCajaAbierto.Month
                                             }
                                                 into g
                                                 select new
                                                 {
                                                     Mes = g.Key.Column1,
                                                     Total = (Decimal?)g.Sum(em => em.InteresCobrados)
                                                 };
                                foreach (var caja in empMes)
                                {
                                    intSeries.Points.Add(new SeriesPoint(CultureInfo.CurrentCulture.DateTimeFormat.GetMonthName(caja.Mes), caja.Total));
                                }
                                chartControl1.Series.Add(intSeries);
                                _diagram = (XYDiagram)chartControl1.Diagram;
                                _diagram.AxisX.DateTimeOptions.Format = DateTimeFormat.Custom;
                                _diagram.AxisX.DateTimeOptions.FormatString = "MMM";
                                _diagram.AxisY.NumericOptions.Format = NumericFormat.Currency;
                                _diagram.AxisY.NumericOptions.Precision = 1;
                                break;
                            case 2:
                                var empAnio = from em in grafica
                                              group em by new
                                              {
                                                  Column1 = em.FechaCajaAbierto.Year
                                              }
                                                  into g
                                                  select new
                                                  {
                                                      Mes = g.Key.Column1,
                                                      Total = (Decimal?)g.Sum(em => em.InteresCobrados)
                                                  };
                                foreach (var caja in empAnio)
                                {
                                    intSeries.Points.Add(new SeriesPoint(caja.Mes, caja.Total));
                                }
                                chartControl1.Series.Add(intSeries);
                                _diagram = (XYDiagram)chartControl1.Diagram;
                                _diagram.AxisX.DateTimeOptions.Format = DateTimeFormat.Custom;
                                _diagram.AxisX.DateTimeOptions.FormatString = "yyyy";
                                _diagram.AxisY.NumericOptions.Format = NumericFormat.Currency;
                                _diagram.AxisY.NumericOptions.Precision = 1;
                                break;
                        }
                    }
                    break;
                case 2:
                    {
                        Series desSeries = new Series("Desempeños", ViewType.Line);
                        switch (cboTipoMuestra.SelectedIndex)
                        {
                            case 0:

                                foreach (var caja in grafica)
                                {
                                    desSeries.Points.Add(new SeriesPoint(caja.FechaCajaAbierto.ToString("dd-MMM-yy"), caja.Desempenios));
                                }
                                chartControl1.Series.Add(desSeries);
                                _diagram = (XYDiagram)chartControl1.Diagram;
                                _diagram.AxisX.DateTimeOptions.Format = DateTimeFormat.Custom;
                                _diagram.AxisX.DateTimeOptions.FormatString = "dd-MMM-yy";
                                _diagram.AxisY.NumericOptions.Format = NumericFormat.Currency;
                                _diagram.AxisY.NumericOptions.Precision = 1;
                                break;
                            case 1:
                                var empMes = from em in grafica
                                             group em by new
                                             {
                                                 Column1 = em.FechaCajaAbierto.Month
                                             }
                                                 into g
                                                 select new
                                                 {
                                                     Mes = g.Key.Column1,
                                                     Total = (Decimal?)g.Sum(em => em.Desempenios)
                                                 };
                                foreach (var caja in empMes)
                                {
                                    desSeries.Points.Add(new SeriesPoint(CultureInfo.CurrentCulture.DateTimeFormat.GetMonthName(caja.Mes), caja.Total));
                                }
                                chartControl1.Series.Add(desSeries);
                                _diagram = (XYDiagram)chartControl1.Diagram;
                                _diagram.AxisX.DateTimeOptions.Format = DateTimeFormat.Custom;
                                _diagram.AxisX.DateTimeOptions.FormatString = "MMM";
                                _diagram.AxisY.NumericOptions.Format = NumericFormat.Currency;
                                _diagram.AxisY.NumericOptions.Precision = 1;
                                break;
                            case 2:
                                var empAnio = from em in grafica
                                              group em by new
                                              {
                                                  Column1 = em.FechaCajaAbierto.Year
                                              }
                                                  into g
                                                  select new
                                                  {
                                                      Mes = g.Key.Column1,
                                                      Total = (Decimal?)g.Sum(em => em.Desempenios)
                                                  };
                                foreach (var caja in empAnio)
                                {
                                    desSeries.Points.Add(new SeriesPoint(caja.Mes, caja.Total));
                                }
                                chartControl1.Series.Add(desSeries);
                                _diagram = (XYDiagram)chartControl1.Diagram;
                                _diagram.AxisX.DateTimeOptions.Format = DateTimeFormat.Custom;
                                _diagram.AxisX.DateTimeOptions.FormatString = "yyyy";
                                _diagram.AxisY.NumericOptions.Format = NumericFormat.Currency;
                                _diagram.AxisY.NumericOptions.Precision = 1;
                                break;
                        }
                    }
                    break;
                case 3:
                    {
                        Series comSeries = new Series("Compras", ViewType.Line);
                        switch (cboTipoMuestra.SelectedIndex)
                        {
                            case 0:

                                foreach (var caja in grafica)
                                {
                                    comSeries.Points.Add(new SeriesPoint(caja.FechaCajaAbierto.ToString("dd-MMM-yy"), caja.TotalCompras));
                                }
                                chartControl1.Series.Add(comSeries);
                                _diagram = (XYDiagram)chartControl1.Diagram;
                                _diagram.AxisX.DateTimeOptions.Format = DateTimeFormat.Custom;
                                _diagram.AxisX.DateTimeOptions.FormatString = "dd-MMM-yy";
                                _diagram.AxisY.NumericOptions.Format = NumericFormat.Currency;
                                _diagram.AxisY.NumericOptions.Precision = 1;
                                break;
                            case 1:
                                var empMes = from em in grafica
                                             group em by new
                                             {
                                                 Column1 = em.FechaCajaAbierto.Month
                                             }
                                                 into g
                                                 select new
                                                 {
                                                     Mes = g.Key.Column1,
                                                     Total = (Decimal?)g.Sum(em => em.TotalCompras)
                                                 };
                                foreach (var caja in empMes)
                                {
                                    comSeries.Points.Add(new SeriesPoint(CultureInfo.CurrentCulture.DateTimeFormat.GetMonthName(caja.Mes), caja.Total));
                                }
                                chartControl1.Series.Add(comSeries);
                                _diagram = (XYDiagram)chartControl1.Diagram;
                                _diagram.AxisX.DateTimeOptions.Format = DateTimeFormat.Custom;
                                _diagram.AxisX.DateTimeOptions.FormatString = "MMM";
                                _diagram.AxisY.NumericOptions.Format = NumericFormat.Currency;
                                _diagram.AxisY.NumericOptions.Precision = 1;
                                break;
                            case 2:
                                var empAnio = from em in grafica
                                              group em by new
                                              {
                                                  Column1 = em.FechaCajaAbierto.Year
                                              }
                                                  into g
                                                  select new
                                                  {
                                                      Mes = g.Key.Column1,
                                                      Total = (Decimal?)g.Sum(em => em.TotalCompras)
                                                  };
                                foreach (var caja in empAnio)
                                {
                                    comSeries.Points.Add(new SeriesPoint(caja.Mes, caja.Total));
                                }
                                chartControl1.Series.Add(comSeries);
                                _diagram = (XYDiagram)chartControl1.Diagram;
                                _diagram.AxisX.DateTimeOptions.Format = DateTimeFormat.Custom;
                                _diagram.AxisX.DateTimeOptions.FormatString = "yyyy";
                                _diagram.AxisY.NumericOptions.Format = NumericFormat.Currency;
                                _diagram.AxisY.NumericOptions.Precision = 1;
                                break;
                        }
                    }
                    break;
                case 4:
                    {
                        Series comSeries = new Series("Ventas", ViewType.Line);
                        switch (cboTipoMuestra.SelectedIndex)
                        {
                            case 0:

                                foreach (var caja in grafica)
                                {
                                    comSeries.Points.Add(new SeriesPoint(caja.FechaCajaAbierto.ToString("dd-MMM-yy"), caja.TotalVentas));
                                }
                                chartControl1.Series.Add(comSeries);
                                _diagram = (XYDiagram)chartControl1.Diagram;
                                _diagram.AxisX.DateTimeOptions.Format = DateTimeFormat.Custom;
                                _diagram.AxisX.DateTimeOptions.FormatString = "dd-MMM-yy";
                                _diagram.AxisY.NumericOptions.Format = NumericFormat.Currency;
                                _diagram.AxisY.NumericOptions.Precision = 1;
                                break;
                            case 1:
                                var empMes = from em in grafica
                                             group em by new
                                             {
                                                 Column1 = em.FechaCajaAbierto.Month
                                             }
                                                 into g
                                                 select new
                                                 {
                                                     Mes = g.Key.Column1,
                                                     Total = (Decimal?)g.Sum(em => em.TotalVentas)
                                                 };
                                foreach (var caja in empMes)
                                {
                                    comSeries.Points.Add(new SeriesPoint(CultureInfo.CurrentCulture.DateTimeFormat.GetMonthName(caja.Mes), caja.Total));
                                }
                                chartControl1.Series.Add(comSeries);
                                _diagram = (XYDiagram)chartControl1.Diagram;
                                _diagram.AxisX.DateTimeOptions.Format = DateTimeFormat.Custom;
                                _diagram.AxisX.DateTimeOptions.FormatString = "MMM";
                                _diagram.AxisY.NumericOptions.Format = NumericFormat.Currency;
                                _diagram.AxisY.NumericOptions.Precision = 1;
                                break;
                            case 2:
                                var empAnio = from em in grafica
                                              group em by new
                                              {
                                                  Column1 = em.FechaCajaAbierto.Year
                                              }
                                                  into g
                                                  select new
                                                  {
                                                      Mes = g.Key.Column1,
                                                      Total = (Decimal?)g.Sum(em => em.TotalVentas)
                                                  };
                                foreach (var caja in empAnio)
                                {
                                    comSeries.Points.Add(new SeriesPoint(caja.Mes, caja.Total));
                                }
                                chartControl1.Series.Add(comSeries);
                                _diagram = (XYDiagram)chartControl1.Diagram;
                                _diagram.AxisX.DateTimeOptions.Format = DateTimeFormat.Custom;
                                _diagram.AxisX.DateTimeOptions.FormatString = "yyyy";
                                _diagram.AxisY.NumericOptions.Format = NumericFormat.Currency;
                                _diagram.AxisY.NumericOptions.Precision = 1;
                                break;
                        }
                    }
                    break;
                case 5:
                    {
                        Series comSeries = new Series("Pagos a Venta", ViewType.Line);
                        switch (cboTipoMuestra.SelectedIndex)
                        {
                            case 0:

                                foreach (var caja in grafica)
                                {
                                    comSeries.Points.Add(new SeriesPoint(caja.FechaCajaAbierto.ToString("dd-MMM-yy"), caja.TotalPagosVentas));
                                }
                                chartControl1.Series.Add(comSeries);
                                _diagram = (XYDiagram)chartControl1.Diagram;
                                _diagram.AxisX.DateTimeOptions.Format = DateTimeFormat.Custom;
                                _diagram.AxisX.DateTimeOptions.FormatString = "dd-MMM-yy";
                                _diagram.AxisY.NumericOptions.Format = NumericFormat.Currency;
                                _diagram.AxisY.NumericOptions.Precision = 1;
                                break;
                            case 1:
                                var empMes = from em in grafica
                                             group em by new
                                             {
                                                 Column1 = em.FechaCajaAbierto.Month
                                             }
                                                 into g
                                                 select new
                                                 {
                                                     Mes = g.Key.Column1,
                                                     Total = (Decimal?)g.Sum(em => em.TotalPagosVentas)
                                                 };
                                foreach (var caja in empMes)
                                {
                                    comSeries.Points.Add(new SeriesPoint(CultureInfo.CurrentCulture.DateTimeFormat.GetMonthName(caja.Mes), caja.Total));
                                }
                                chartControl1.Series.Add(comSeries);
                                _diagram = (XYDiagram)chartControl1.Diagram;
                                _diagram.AxisX.DateTimeOptions.Format = DateTimeFormat.Custom;
                                _diagram.AxisX.DateTimeOptions.FormatString = "MMM";
                                _diagram.AxisY.NumericOptions.Format = NumericFormat.Currency;
                                _diagram.AxisY.NumericOptions.Precision = 1;
                                break;
                            case 2:
                                var empAnio = from em in grafica
                                              group em by new
                                              {
                                                  Column1 = em.FechaCajaAbierto.Year
                                              }
                                                  into g
                                                  select new
                                                  {
                                                      Mes = g.Key.Column1,
                                                      Total = (Decimal?)g.Sum(em => em.TotalPagosVentas)
                                                  };
                                foreach (var caja in empAnio)
                                {
                                    comSeries.Points.Add(new SeriesPoint(caja.Mes, caja.Total));
                                }
                                chartControl1.Series.Add(comSeries);
                                _diagram = (XYDiagram)chartControl1.Diagram;
                                _diagram.AxisX.DateTimeOptions.Format = DateTimeFormat.Custom;
                                _diagram.AxisX.DateTimeOptions.FormatString = "yyyy";
                                _diagram.AxisY.NumericOptions.Format = NumericFormat.Currency;
                                _diagram.AxisY.NumericOptions.Precision = 1;
                                break;
                        }
                    }
                    break;
                case 6:
                    {
                        Series comSeries = new Series("Financiamientos", ViewType.Line);
                        switch (cboTipoMuestra.SelectedIndex)
                        {
                            case 0:

                                foreach (var caja in grafica)
                                {
                                    comSeries.Points.Add(new SeriesPoint(caja.FechaCajaAbierto.ToString("dd-MMM-yy"), caja.TotalFinanciamientos));
                                }
                                chartControl1.Series.Add(comSeries);
                                _diagram = (XYDiagram)chartControl1.Diagram;
                                _diagram.AxisX.DateTimeOptions.Format = DateTimeFormat.Custom;
                                _diagram.AxisX.DateTimeOptions.FormatString = "dd-MMM-yy";
                                _diagram.AxisY.NumericOptions.Format = NumericFormat.Currency;
                                _diagram.AxisY.NumericOptions.Precision = 1;
                                break;
                            case 1:
                                var empMes = from em in grafica
                                             group em by new
                                             {
                                                 Column1 = em.FechaCajaAbierto.Month
                                             }
                                                 into g
                                                 select new
                                                 {
                                                     Mes = g.Key.Column1,
                                                     Total = (Decimal?)g.Sum(em => em.TotalFinanciamientos)
                                                 };
                                foreach (var caja in empMes)
                                {
                                    comSeries.Points.Add(new SeriesPoint(CultureInfo.CurrentCulture.DateTimeFormat.GetMonthName(caja.Mes), caja.Total));
                                }
                                chartControl1.Series.Add(comSeries);
                                _diagram = (XYDiagram)chartControl1.Diagram;
                                _diagram.AxisX.DateTimeOptions.Format = DateTimeFormat.Custom;
                                _diagram.AxisX.DateTimeOptions.FormatString = "MMM";
                                _diagram.AxisY.NumericOptions.Format = NumericFormat.Currency;
                                _diagram.AxisY.NumericOptions.Precision = 1;
                                break;
                            case 2:
                                var empAnio = from em in grafica
                                              group em by new
                                              {
                                                  Column1 = em.FechaCajaAbierto.Year
                                              }
                                                  into g
                                                  select new
                                                  {
                                                      Mes = g.Key.Column1,
                                                      Total = (Decimal?)g.Sum(em => em.TotalFinanciamientos)
                                                  };
                                foreach (var caja in empAnio)
                                {
                                    comSeries.Points.Add(new SeriesPoint(caja.Mes, caja.Total));
                                }
                                chartControl1.Series.Add(comSeries);
                                _diagram = (XYDiagram)chartControl1.Diagram;
                                _diagram.AxisX.DateTimeOptions.Format = DateTimeFormat.Custom;
                                _diagram.AxisX.DateTimeOptions.FormatString = "yyyy";
                                _diagram.AxisY.NumericOptions.Format = NumericFormat.Currency;
                                _diagram.AxisY.NumericOptions.Precision = 1;
                                break;
                        }
                    }
                    break;
                case 7:
                    {
                        Series comSeries = new Series("Pagos a Financiamientos", ViewType.Line);
                        switch (cboTipoMuestra.SelectedIndex)
                        {
                            case 0:

                                foreach (var caja in grafica)
                                {
                                    comSeries.Points.Add(new SeriesPoint(caja.FechaCajaAbierto.ToString("dd-MMM-yy"), caja.TotalPagosFinanciamiento));
                                }
                                chartControl1.Series.Add(comSeries);
                                _diagram = (XYDiagram)chartControl1.Diagram;
                                _diagram.AxisX.DateTimeOptions.Format = DateTimeFormat.Custom;
                                _diagram.AxisX.DateTimeOptions.FormatString = "dd-MMM-yy";
                                _diagram.AxisY.NumericOptions.Format = NumericFormat.Currency;
                                _diagram.AxisY.NumericOptions.Precision = 1;
                                break;
                            case 1:
                                var empMes = from em in grafica
                                             group em by new
                                             {
                                                 Column1 = em.FechaCajaAbierto.Month
                                             }
                                                 into g
                                                 select new
                                                 {
                                                     Mes = g.Key.Column1,
                                                     Total = (Decimal?)g.Sum(em => em.TotalPagosFinanciamiento)
                                                 };
                                foreach (var caja in empMes)
                                {
                                    comSeries.Points.Add(new SeriesPoint(CultureInfo.CurrentCulture.DateTimeFormat.GetMonthName(caja.Mes), caja.Total));
                                }
                                chartControl1.Series.Add(comSeries);
                                _diagram = (XYDiagram)chartControl1.Diagram;
                                _diagram.AxisX.DateTimeOptions.Format = DateTimeFormat.Custom;
                                _diagram.AxisX.DateTimeOptions.FormatString = "MMM";
                                _diagram.AxisY.NumericOptions.Format = NumericFormat.Currency;
                                _diagram.AxisY.NumericOptions.Precision = 1;
                                break;
                            case 2:
                                var empAnio = from em in grafica
                                              group em by new
                                              {
                                                  Column1 = em.FechaCajaAbierto.Year
                                              }
                                                  into g
                                                  select new
                                                  {
                                                      Mes = g.Key.Column1,
                                                      Total = (Decimal?)g.Sum(em => em.TotalPagosFinanciamiento)
                                                  };
                                foreach (var caja in empAnio)
                                {
                                    comSeries.Points.Add(new SeriesPoint(caja.Mes, caja.Total));
                                }
                                chartControl1.Series.Add(comSeries);
                                _diagram = (XYDiagram)chartControl1.Diagram;
                                _diagram.AxisX.DateTimeOptions.Format = DateTimeFormat.Custom;
                                _diagram.AxisX.DateTimeOptions.FormatString = "yyyy";
                                _diagram.AxisY.NumericOptions.Format = NumericFormat.Currency;
                                _diagram.AxisY.NumericOptions.Precision = 1;
                                break;
                        }
                    }
                    break;
            }
        }
Example #34
0
        void DrawChart(DataTable data, DateTime from, DateTime to, IntervalType interval, ValueRepresentation representation, bool ajax)
        {
            List<Interval> _intervals = new List<Interval>();

                if (interval == IntervalType.Day || interval == IntervalType.Week)
                {
                    // Day by day or week by week
                    for (int i = 0; i < (to.Subtract(from).TotalDays / (int)interval); i++)
                    {
                        _intervals.Add(new Interval(from.AddDays((i * (int)interval) + 1 - 1), from.AddDays((i * (int)interval) + (int)interval + 1 - 1)));

                    }
                }
                if (interval == IntervalType.Month)
                {
                    for (int i = 0; i < to.Month - from.Month + ((to.Year - from.Year) * 12) + 1; i++)
                    {
                        _intervals.Add(new Interval(new DateTime(from.Year, from.Month, 1).AddMonths(i), new DateTime(from.Year, from.Month, 1).AddMonths(i + 1).AddDays(-1)));
                    }
                }

                if (interval == IntervalType.Year)
                {
                    for (int i = 0; i < to.Year - from.Year + 1; i++)
                    {
                        _intervals.Add(new Interval(new DateTime(from.Year, from.Month, 1).AddYears(i), new DateTime(from.Year, from.Month, 1).AddYears(i + 1).AddDays(-1)));
                    }
                }
            //foreach (Interval ii in _intervals)
            //{
            //    Response.Write(ii.Start);
            //    Response.Write(" - ");
            //    Response.Write(ii.End);
            //    Response.Write("<br>");
            //}

            // Draw chart here item by item in _intervals

            WebChartControl chart = new WebChartControl();

            if (!ajax)
            {
                chart.EnableViewState = false;
                ChartTitle title = new ChartTitle();
                title.Text = "Graf dle " + ddlYGroupBy.SelectedItem.Text.ToLower() + ":";
                title.Font = new System.Drawing.Font("Tahoma", 10);
                chart.Titles.Add(title);
                chart.FillStyle.FillMode = FillMode.Solid;
            }
            Dictionary<int, Series> series = new Dictionary<int, Series>();

            List<bool> seriesVisibilities = new List<bool>();
            using (SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["CanonConnectionStringMain"].ConnectionString))
            {
                conn.Open();

                List<string> seriesNames = new List<string>();
                List<string> seriesCriteria = new List<string>();

                int k = 0;
                Culture = "cs-CZ";
                // Create series
                using (SqlCommand cmd = new SqlCommand())
                {
                    cmd.Connection = conn;

                    StringBuilder text = new StringBuilder("");

            #warning extract to function
                    if (ddlYFilterType.SelectedIndex > 0)
                    {
                        if (_filerYValues.Count > 0)
                        {
                            text.Append(" AND (");
                            // Y Filter
                            int i = 0;
                            foreach (string s in _filerYValues)
                            {
                                text.Append(ddlYFilterType.SelectedValue);
                                text.Append(" = '");
                                text.Append(s);
                                text.Append("' ");
                                if (i < _filerYValues.Count - 1)
                                {
                                    text.Append("OR ");
                                }
                                i++;
                            }
                            text.Append(") ");
                        }
                    }
                    string top = "";
                    if (chbTop.Checked)
                    {
                        int tp = Convert.ToInt32(txtTop.Text);
                        if (!ajax)
                        {
                            tp += 1;
                        }
                        top = "TOP " + tp;
                    }

                    cmd.CommandText = string.Format("SELECT {2} {0}, {0} AS Value FROM PivotTable WHERE DateSale >= @Start AND DateSale < @End {1} GROUP BY {0} ORDER BY Sum(CAST(replace(TurnoverEUR, ',', '.') as Decimal)) DESC", ddlYGroupBy.SelectedValue, text, top);

                    cmd.Parameters.Add(new SqlParameter("@Start", SqlDbType.DateTime) { Value = _intervals[0].Start });
                    cmd.Parameters.Add(new SqlParameter("@End", SqlDbType.DateTime) { Value = _intervals[_intervals.Count - 1].End });

                    SqlDataReader reader = cmd.ExecuteReader();
                    while (reader.Read())
                    {
                        if (ddlYGroupBy.SelectedValue == "ReselerGroupJoined")
                        {
                            seriesNames.Add(reader[1].ToString().Trim() == "" ? "NO-NAME" : reader[1].ToString());
                        }
                        else
                        {
                            seriesNames.Add(reader[1].ToString().Trim() == "" ? "(neuvedeno)" : reader[1].ToString());
                        }

                        if (!ajax)
                        {
                            Series s;
                            if (rblValueDisplayMode.SelectedValue == "2" || ddlXValueType.SelectedValue == "Data")
                            {
                                s = new Series(reader[1].ToString(), ViewType.StackedBar);
                            }
                            else
                            {
                                s = new Series(reader[1].ToString(), ViewType.Line);
                            }
                            s.ValueScaleType = ScaleType.Numerical;
                            if (ddlXValueType.SelectedValue == "Time")
                            {
                                s.ArgumentScaleType = ScaleType.DateTime;
                            }
                            if (ddlXValueType.SelectedValue == "Data")
                            {
                                s.ArgumentScaleType = ScaleType.Qualitative;
                            }

                            if (ddlYValueType.SelectedValue == "4")
                            {
                                if (rblValueDisplayMode.SelectedValue != "2")
                                {
                                    s.PointOptions.ValueNumericOptions.Format = NumericFormat.Currency;
                                }
                                if (rblValueDisplayMode.SelectedValue == "2")
                                {
                                    s.PointOptions.ValueNumericOptions.Format = NumericFormat.Percent;
                                }
                            }
                            //s.PointOptions.ValueNumericOptions.Format = NumericFormat.Currency;
                            seriesCriteria.Add(reader[0].ToString());
                            seriesVisibilities.Add(false);
                            series.Add(k, s);
                            k++;
                        }
                    }
                    reader.Close();
                }

                // Draw series
                // By Time

                // Enumerate series here and send them via ajax
                if (ajax)
                {
                    lbYHaving.Items.Clear();
                    lbYHaving.Items.Add(allValues);
                    foreach (string s in seriesNames)
                    {
                        lbYHaving.Items.Add(s);
                    }
                    DataBind(lbYHaving);

                    return;
                }

                if (ddlXValueType.SelectedValue == "Time")
                {
                    foreach (Interval i in _intervals)
                    {
                        for (int j = 0; j < seriesNames.Count; j++)
                        {
                            using (SqlCommand command = GenerateReportCommand(i.Start, i.End, seriesCriteria[j]))
                            {
                                command.Connection = conn;
                                SqlDataReader dr = command.ExecuteReader();

                                while (dr.Read())
                                {
                                    // Here it comes
                                    if (dr[0] is DBNull)
                                    {
                                        series[j].Points.Add(new SeriesPoint(i.Start, new double[] { 0 }));
                                    }
                                    else
                                    {
                                        series[j].Points.Add(new SeriesPoint(i.Start, new double[] { Convert.ToDouble(dr[0]) }));
                                        seriesVisibilities[j] = true;
                                    }
                                }
                                dr.Close();
                            }
                        }
                    }
                }
                if (ddlXValueType.SelectedValue == "Data")
                {
                    using (SqlCommand command_data = new SqlCommand())
                    {
                        command_data.Connection = conn;
                        command_data.CommandText = "SELECT DISTINCT " + ddlXGroupByData.SelectedValue + " FROM PivotTable WHERE DateSale >= @Start AND DateSale < @End";
                        command_data.Parameters.Add(new SqlParameter("@Start", SqlDbType.DateTime) { Value = _intervals[0].Start });
                        command_data.Parameters.Add(new SqlParameter("@End", SqlDbType.DateTime) { Value = _intervals[_intervals.Count - 1].End });

                        SqlDataReader reader = command_data.ExecuteReader();
                        List<string> xData = new List<string>();

                        while (reader.Read())
                        {
                            xData.Add(reader[0].ToString());
                        }
                        reader.Close();

                        foreach(string xd in xData)
                        {
                            for (int j = 0; j < seriesNames.Count; j++)
                            {
                                using (SqlCommand command = GenerateReportCommandByData(xd, seriesCriteria[j]))
                                {
                                    command.Connection = conn;
                                    SqlDataReader dr = command.ExecuteReader();

                                    while (dr.Read())
                                    {
                                        // Here it comes
                                        if (dr[0] is DBNull)
                                        {
                                            series[j].Points.Add(new SeriesPoint(xd, new double[] { 0 }));
                                        }
                                        else
                                        {
                                            series[j].Points.Add(new SeriesPoint(xd, new double[] { Convert.ToDouble(dr[0]) }));
                                            seriesVisibilities[j] = true;
                                        }
                                    }
                                    dr.Close();
                                }
                            }
                        }
                    }
                }
            }

            int l = 0;
            object yHaving = Request[lbYHaving.ClientID.Replace('_', '$')];

            if (yHaving == null)
            {
                yHaving = allValues;
            }

            lbYHaving.Items.Clear();

            if (yHaving.ToString() != allValues)
            {
                {
                    for (int i = 0; i < series.Count; i++)
                    {
                        if (seriesVisibilities[i])
                        {
                            lbYHaving.Items.Add(series[i].Name);
                            foreach (string s in yHaving.ToString().Split(','))
                            {
                                if (s == series[i].Name)
                                {
                                    lbYHaving.Items[l].Selected = true;
                                    seriesVisibilities[i] = true;
                                    break;
                                }
                                else
                                {
                                    seriesVisibilities[i] = false;
                                }
                            }
                            l++;
                        }
                    }
                }
            }
            else
            {
                for (int i = 0; i < series.Count; i++)
                {
                    if (seriesVisibilities[i] && yHaving.ToString() != allValues)
                    {
                        lbYHaving.Items.Add(series[i].Name);
                    }
                }
            }

            lbYHaving.Items.Insert(0, allValues);
            if (yHaving.ToString() == allValues)
            {
                lbYHaving.Items[0].Selected = true;
            }

            // Other
            for (int i = 0; i < series.Count; i++)
            {
                if (seriesVisibilities[i])
                {

                    if (seriesVisibilities[i] && yHaving.ToString() == allValues)
                    {
                        lbYHaving.Items.Add(series[i].Name);
                    }
                    chart.Series.Add(series[i]);
                }
            }

            #region Compute sum

            Series suma = new Series("Suma", ViewType.Line);
            suma.ValueScaleType = ScaleType.Numerical;
            suma.ArgumentScaleType = ScaleType.DateTime;
            if (ddlYValueType.SelectedValue == "4")
            {
                if (rblValueDisplayMode.SelectedValue != "2")
                {
                    suma.PointOptions.ValueNumericOptions.Format = NumericFormat.Currency;
                }
                if (rblValueDisplayMode.SelectedValue == "2")
                {
                    suma.PointOptions.ValueNumericOptions.Format = NumericFormat.Percent;
                }
            }

            DataTable grid = new DataTable();
            string xArgumentName = ddlXValueType.SelectedItem.Text + " - dle ";

            if (ddlXValueType.SelectedValue == "Time")
            {
                xArgumentName += ddlXGroupByTime.SelectedItem.Text.ToLower();
            }
            else
            {
                xArgumentName += ddlXGroupByData.SelectedItem.Text.ToLower();
            }

            grid.Columns.Add(new DataColumn(xArgumentName));
            for (int i = 0; i < chart.Series.Count; i++)
            {
                grid.Columns.Add(new DataColumn(chart.Series[i].Name));
            }

            double sum;
            for (int j = 0; j < chart.Series[0].Points.Count; j++)
            {
                sum = 0;
                DataRow dr = grid.NewRow();
                if (ddlXValueType.SelectedValue == "Time")
                {
                    dr[0] = Convert.ToDateTime(chart.Series[0].Points[j].Argument).ToString("dd.MM.yyyy");
                }
                else
                {
                    dr[0] = chart.Series[0].Points[j].Argument;
                }
                for (int i = 0; i < chart.Series.Count; i++)
                {
                    dr[i+1] = chart.Series[i].Points[j].Values[0];
                    sum += chart.Series[i].Points[j].Values[0];
                }
                grid.Rows.Add(dr);
                suma.Points.Add(new SeriesPoint(chart.Series[0].Points[j].Argument, new double[] { sum }));

                // Percent
                if (rblValueDisplayMode.SelectedValue == "2")
                {
                    for (int i = 0; i < chart.Series.Count; i++)
                    {
                        if (sum == 0)
                        {
                            chart.Series[i].Points[j].Values[0] = 0;
                        }
                        else
                        {
                            chart.Series[i].Points[j].Values[0] = Math.Round(((chart.Series[i].Points[j].Values[0] / sum) * 1), 2);
                        }
                    }
                }

                if (rblValueDisplayMode.SelectedValue == "3")
                {
                    if (j > 0)
                    {
                        for (int i = 0; i < chart.Series.Count; i++)
                        {
                            chart.Series[i].Points[j].Values[0] = chart.Series[i].Points[j].Values[0] - chart.Series[i].Points[j - 1].Values[0];
                        }
                    }
                    else
                    {
                        for (int i = 0; i < chart.Series.Count; i++)
                        {
                            chart.Series[i].Points[j].Values[0] = 0;
                        }
                    }

                }
            }
            suma.View.Color = System.Drawing.Color.Black;
            series.Add(series.Count, suma);
            if (rblValueDisplayMode.SelectedValue == "1")
            {
                chart.Series.Add(series[series.Count - 1]);
            }

            if (chbShowSum.Checked && rblValueDisplayMode.SelectedValue == "1" && ddlXValueType.SelectedValue == "Time")
            {
                int toBeRemoved = chart.Series.Count - 1;
                for (int j = 0; j < toBeRemoved; j++)
                {
                    chart.Series.RemoveAt(0);
                }
            }

            // Show grid

            DataRow drSum = grid.NewRow();
            for(int i = 1; i < grid.Columns.Count; i++)
            {
                double dSum = 0;
                for (int j = 0; j < grid.Rows.Count; j++)
                {
                    dSum += Convert.ToDouble(grid.Rows[j][i]);
                }
                drSum[i] = dSum;
            }
            grid.Columns.Add(new DataColumn("Součet za svislou osu"));
            for (int i = 0; i < grid.Rows.Count; i++)
            {
                double dSum = 0;
                for (int j = 1; j < grid.Columns.Count - 1; j++)
                {
                    dSum += Convert.ToDouble(grid.Rows[i][j] == null ? "0" : grid.Rows[i][j]);
                }
                if (rblValueDisplayMode.SelectedValue == "2")
                {
                    for (int j = 1; j < grid.Columns.Count - 1; j++)
                    {
                        if (dSum == 0)
                        {
                            grid.Rows[i][j] = "0";
                        }
                        else
                        {
                            grid.Rows[i][j] = (Math.Round(Convert.ToDouble(grid.Rows[i][j] == null ? "0" : grid.Rows[i][j]) / dSum, 4) * 100).ToString() + " %";
                        }
                    }
                }
                grid.Rows[i][grid.Columns[grid.Columns.Count-1]] = dSum;
            }
            grid.Rows.Add(drSum);
            grid.Rows[grid.Rows.Count - 1][0] = "Součet za vodorovnou osu";
            gvGrid.DataSource = grid;
            gvGrid.DataBind();

            #endregion

            #region Customize chart

            DevExpress.XtraCharts.XYDiagram xyDiagram = new XYDiagram();

            if (ddlYValueType.SelectedIndex == 0)
            {
                xyDiagram.AxisY.Title.Text = "EUR";
            }
            if (ddlYValueType.SelectedIndex == 1)
            {
                xyDiagram.AxisY.Title.Text = "Kusů";
            }

            xyDiagram.AxisY.Title.Font = new System.Drawing.Font("Tahoma", 8);
            xyDiagram.AxisY.Label.Staggered = false;
            xyDiagram.AxisY.Title.Visible = true;
            xyDiagram.AxisY.Range.SideMarginsEnabled = true;
            xyDiagram.AxisY.Interlaced = true;

            xyDiagram.AxisX.Title.Font = new System.Drawing.Font("Tahoma", 8);
            xyDiagram.AxisX.Label.Staggered = true;
            xyDiagram.AxisX.Range.SideMarginsEnabled = true;
            xyDiagram.AxisX.Tickmarks.MinorVisible = false;

            xyDiagram.AxisX.Range.MinValue = from;
            xyDiagram.AxisX.Range.MaxValue = to;

            switch (interval)
            {
                case IntervalType.Day:
                    xyDiagram.AxisX.DateTimeMeasureUnit = DateTimeMeasurementUnit.Day;
                    break;
                case IntervalType.Week:
                    xyDiagram.AxisX.DateTimeMeasureUnit = DateTimeMeasurementUnit.Day;
                    xyDiagram.AxisX.GridSpacingAuto = false;
                    xyDiagram.AxisX.GridSpacing = 7;
                    break;
                case IntervalType.Month:
                    xyDiagram.AxisX.DateTimeMeasureUnit = DateTimeMeasurementUnit.Month;
                    break;
                case IntervalType.Year:
                    xyDiagram.AxisX.DateTimeMeasureUnit = DateTimeMeasurementUnit.Year;
                    break;
            }
            xyDiagram.EnableZooming = true;

            chart.Diagram = xyDiagram;
            chart.Width = Convert.ToInt32(txtScreenWidth.Text) - 50;
            chart.Height = 602;
            //chart.Height = Convert.ToInt32(txtScreenHeight.Text) - 230;

            #endregion

            chart.DataBind();
            pnlGraph.Controls.Add(chart);
        }
Example #35
0
        void DrawChart(DataTable data, DateTime from, DateTime to, IntervalType interval, ValueRepresentation representation)
        {
            List<Interval> _intervals = new List<Interval>();

            if (interval == IntervalType.Day || interval == IntervalType.Week)
            {
                // Day by day or week by week
                for (int i = 0; i < (to.Subtract(from).TotalDays / (int)interval); i++)
                {
                    //Response.Write(i + 1);
                    //Response.Write(":   ");
                    //Response.Write((i * (int)interval) + 1);
                    //Response.Write(" - ");
                    //Response.Write((i * (int)interval) + 1 + 7);
                    //Response.Write("   |   ");
                    //Response.Write(from.AddDays((i * (int)interval) + 1 - 1));
                    //Response.Write(" - ");
                    //Response.Write(from.AddDays((i * (int)interval) + 1 - 1));
                    //Response.Write("<br>");

                    _intervals.Add(new Interval(from.AddDays((i * (int)interval) + 1 - 1), from.AddDays((i * (int)interval) + (int)interval + 1 - 1)));

                }
            }
            if (interval == IntervalType.Month)
            {
                for (int i = 0; i < to.Month - from.Month + ((to.Year - from.Year) * 12) + 1; i++)
                {
                    //Response.Write(i + 1);
                    //Response.Write(":   ");
                    //Response.Write(new DateTime(from.Year, from.Month, 1).AddMonths(i));
                    //Response.Write(" - ");
                    //Response.Write(new DateTime(from.Year, from.Month, 1).AddMonths(i+1).AddDays(-1));
                    //Response.Write("<br>");

                    _intervals.Add(new Interval(new DateTime(from.Year, from.Month, 1).AddMonths(i), new DateTime(from.Year, from.Month, 1).AddMonths(i + 1).AddDays(-1)));
                }
            }
            //List<>

            // Draw chart here item by item in _intervals

            WebChartControl chart = new WebChartControl();
            chart.EnableViewState = false;
            ChartTitle title = new ChartTitle();
            title.Text = "pokus";
            title.Font = new System.Drawing.Font("Tahoma", 10);
            chart.Titles.Add(title);
            chart.FillStyle.FillMode = FillMode.Solid;
            Dictionary<int, Series> series = new Dictionary<int, Series>();

            //foreach (int channelId in channels)
            //{
            //    Channel channel = db.Channels.Where(c => c.ChannelId == channelId).FirstOrDefault();
            //    if (channel == null) continue;
            //    Series s = new Series(channel.ChannelName, ViewType.Line);
            //    s.ValueScaleType = ScaleType.Numerical;
            //    s.ArgumentScaleType = ScaleType.DateTime;
            //    series.Add(channelId, s);
            //}

            using (SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["CanonConnectionStringMain"].ConnectionString))
            {
                conn.Open();

                List<string> seriesNames = new List<string>();

                int k = 0;
                // Create series
                using (SqlCommand cmd = new SqlCommand())
                {
                    cmd.Connection = conn;
                    cmd.CommandText = string.Format("SELECT DISTINCT {0} FROM PivotTable WHERE DateSale >= @Start AND DateSale < @End", ddlYGroupBy.SelectedValue);
                    cmd.Parameters.Add(new SqlParameter("@Start", SqlDbType.DateTime) { Value = _intervals[0].Start });
                    cmd.Parameters.Add(new SqlParameter("@End", SqlDbType.DateTime) { Value = _intervals[_intervals.Count - 1].End });

                    SqlDataReader reader = cmd.ExecuteReader();
                    while (reader.Read())
                    {
                        Series s = new Series(reader[0].ToString(), ViewType.Line);
                        s.ValueScaleType = ScaleType.Numerical;
                        s.ArgumentScaleType = ScaleType.DateTime;
                        seriesNames.Add(reader[0].ToString());
                        series.Add(k, s);
                        k++;
                    }
                    reader.Close();
                }

                // Draw series
                foreach (Interval i in _intervals)
                {
                    for (int j = 0; j < seriesNames.Count; j++ )
                    {
                        using (SqlCommand command = GenerateReportCommand(i.Start, i.End, seriesNames[j]))
                        {
                            command.Connection = conn;
                            SqlDataReader dr = command.ExecuteReader();

                            while (dr.Read())
                            {
                                // Here it comes
                                //Response.Write(dr[0]);
                                //Response.Write(" - ");
                                //Response.Write(dr[1]);
                                //Response.Write("<br>");
                                if (dr[0] is DBNull)
                                {
                                    series[j].Points.Add(new SeriesPoint(i.Start, new double[] { 0 }));
                                }
                                else
                                {
                                    series[j].Points.Add(new SeriesPoint(i.Start, new double[] { Convert.ToDouble(dr[0]) }));
                                }
                            }
                            dr.Close();
                        }
                    }
                }
            }

            foreach (KeyValuePair<int, Series> serie in series)
                chart.Series.Add(serie.Value);
            //diagram
            DevExpress.XtraCharts.XYDiagram xyDiagram = new XYDiagram();
            xyDiagram.AxisY.Title.Font = new System.Drawing.Font("Tahoma", 8);
            xyDiagram.AxisY.Title.Text = "CZK";
            xyDiagram.AxisY.Label.Staggered = false;
            xyDiagram.AxisY.Title.Visible = true;
            xyDiagram.AxisY.Range.SideMarginsEnabled = true;
            xyDiagram.AxisY.Interlaced = true;

            xyDiagram.AxisX.Title.Font = new System.Drawing.Font("Tahoma", 8);
            xyDiagram.AxisX.Label.Staggered = true;
            xyDiagram.AxisX.Range.SideMarginsEnabled = true;
            xyDiagram.AxisX.Tickmarks.MinorVisible = false;

            xyDiagram.AxisX.Range.MinValue = from;
            xyDiagram.AxisX.Range.MaxValue = to;

            switch (interval)
            {
                case IntervalType.Day:
                    xyDiagram.AxisX.DateTimeMeasureUnit = DateTimeMeasurementUnit.Day;
                    break;
                case IntervalType.Week:
                    xyDiagram.AxisX.DateTimeMeasureUnit = DateTimeMeasurementUnit.Day;
                    xyDiagram.AxisX.GridSpacingAuto = false;
                    xyDiagram.AxisX.GridSpacing = 7;
                    break;
                case IntervalType.Month:
                    xyDiagram.AxisX.DateTimeMeasureUnit = DateTimeMeasurementUnit.Month;
                    break;
            }

            //xyDiagram.AxisX.DateTimeMeasureUnit = DateTimeMeasurementUnit.Month;
            xyDiagram.EnableZooming = true;

            chart.Diagram = xyDiagram;
            chart.Width = 800;
            chart.Height = 500;
            chart.DataBind();
            pnlGraph.Controls.Add(chart);
        }
Example #36
0
        void SetAxisTitle(XYDiagram diagram, string axisX, string axisY)
        {
            // Customize the appearance of the X-axis title
            diagram.AxisX.Title.Visible = true;
            diagram.AxisX.Title.Alignment = StringAlignment.Far;
            diagram.AxisX.Title.Text = axisX;
            diagram.AxisX.Title.TextColor = Color.Red;
            diagram.AxisX.Title.Antialiasing = true;
            diagram.AxisX.Label.Visible = false;

            // Customize the appearance of the Y-axis title
            diagram.AxisY.Title.Visible = true;
            diagram.AxisY.Title.Alignment = StringAlignment.Far;
            diagram.AxisY.Title.Text = axisY;
            diagram.AxisY.Title.TextColor = Color.Blue;
            diagram.AxisY.Title.Antialiasing = true;
            diagram.AxisY.NumericOptions.Format = NumericFormat.Number;
            diagram.AxisY.NumericOptions.Precision = 0;
        }
Example #37
0
 private void InitializeComponent()
 {
     this.components = new Container();
     XYDiagram diagram = new XYDiagram();
     RectangleGradientFillOptions options = new RectangleGradientFillOptions();
     Series series = new Series();
     LineSeriesView view = new LineSeriesView();
     this.btnExecute = new SkinButton();
     this.gpgChart = new GPGChartControl(this.components);
     this.tbQuery = new GPGTextArea();
     this.btnSave = new SkinButton();
     this.cbViewType = new GPGDropDownList();
     this.cbLabels = new GPGCheckBox();
     ((ISupportInitialize) base.pbBottom).BeginInit();
     ((ISupportInitialize) this.gpgChart).BeginInit();
     ((ISupportInitialize) diagram).BeginInit();
     ((ISupportInitialize) series).BeginInit();
     ((ISupportInitialize) view).BeginInit();
     this.tbQuery.Properties.BeginInit();
     base.SuspendLayout();
     base.ttDefault.SetSuperTip(base.pbBottom, null);
     base.ttDefault.DefaultController.AutoPopDelay = 0x3e8;
     base.ttDefault.DefaultController.ToolTipLocation = ToolTipLocation.RightTop;
     this.btnExecute.Anchor = AnchorStyles.Right | AnchorStyles.Bottom;
     this.btnExecute.AutoStyle = true;
     this.btnExecute.BackColor = Color.Black;
     this.btnExecute.ButtonState = 0;
     this.btnExecute.DialogResult = DialogResult.OK;
     this.btnExecute.DisabledForecolor = Color.Gray;
     this.btnExecute.DrawColor = Color.White;
     this.btnExecute.DrawEdges = true;
     this.btnExecute.FocusColor = Color.Yellow;
     this.btnExecute.Font = new Font("Verdana", 8f, FontStyle.Bold);
     this.btnExecute.ForeColor = Color.White;
     this.btnExecute.HorizontalScalingMode = ScalingModes.Tile;
     this.btnExecute.IsStyled = true;
     this.btnExecute.Location = new Point(0x217, 0x185);
     this.btnExecute.Name = "btnExecute";
     this.btnExecute.Size = new Size(0x5d, 0x1c);
     this.btnExecute.SkinBasePath = @"Controls\Button\Round Edge";
     base.ttDefault.SetSuperTip(this.btnExecute, null);
     this.btnExecute.TabIndex = 0x17;
     this.btnExecute.TabStop = true;
     this.btnExecute.Text = "<LOC>Execute";
     this.btnExecute.TextAlign = ContentAlignment.MiddleCenter;
     this.btnExecute.TextPadding = new System.Windows.Forms.Padding(0);
     this.btnExecute.Click += new EventHandler(this.btnExecute_Click);
     this.gpgChart.Anchor = AnchorStyles.Right | AnchorStyles.Left | AnchorStyles.Bottom | AnchorStyles.Top;
     this.gpgChart.AppearanceName = "Pastel Kit";
     this.gpgChart.BackColor = Color.Black;
     this.gpgChart.Border.Color = Color.White;
     diagram.BackColor = Color.Black;
     diagram.AxisY.Color = Color.White;
     diagram.AxisY.InterlacedColor = Color.White;
     diagram.AxisY.Label.TextColor = Color.White;
     diagram.AxisY.Title.TextColor = Color.White;
     diagram.AxisX.Color = Color.White;
     diagram.AxisX.GridLines.Color = Color.White;
     diagram.AxisX.InterlacedColor = Color.White;
     diagram.AxisX.Label.TextColor = Color.White;
     diagram.AxisX.Title.TextColor = Color.White;
     diagram.BorderColor = Color.White;
     diagram.FillStyle.FillMode = DevExpress.XtraCharts.FillMode.Gradient;
     options.Color2 = Color.FromArgb(0x40, 0x40, 0x40);
     options.GradientMode = RectangleGradientMode.BottomRightToTopLeft;
     diagram.FillStyle.Options = options;
     diagram.Shadow.Color = Color.White;
     this.gpgChart.Diagram = diagram;
     this.gpgChart.Legend.BackColor = Color.Black;
     this.gpgChart.Legend.Border.Color = Color.Black;
     this.gpgChart.Legend.TextColor = Color.White;
     this.gpgChart.Location = new Point(12, 0x53);
     this.gpgChart.Name = "gpgChart";
     this.gpgChart.RuntimeRotation = true;
     this.gpgChart.RuntimeSelection = true;
     series.PointOptionsTypeName = "PointOptions";
     view.LineMarkerOptions.Size = 5;
     series.View = view;
     series.Name = "Series 1";
     this.gpgChart.Series.AddRange(new Series[] { series });
     this.gpgChart.SeriesTemplate.PointOptionsTypeName = "PointOptions";
     this.gpgChart.Size = new Size(0x269, 0xca);
     base.ttDefault.SetSuperTip(this.gpgChart, null);
     this.gpgChart.TabIndex = 0x18;
     this.tbQuery.Anchor = AnchorStyles.Right | AnchorStyles.Left | AnchorStyles.Bottom;
     this.tbQuery.BorderColor = Color.White;
     this.tbQuery.Location = new Point(12, 0x123);
     this.tbQuery.Name = "tbQuery";
     this.tbQuery.Properties.Appearance.BackColor = Color.Black;
     this.tbQuery.Properties.Appearance.BorderColor = Color.FromArgb(0x52, 0x83, 190);
     this.tbQuery.Properties.Appearance.ForeColor = Color.White;
     this.tbQuery.Properties.Appearance.Options.UseBackColor = true;
     this.tbQuery.Properties.Appearance.Options.UseBorderColor = true;
     this.tbQuery.Properties.Appearance.Options.UseForeColor = true;
     this.tbQuery.Properties.AppearanceFocused.BackColor = Color.FromArgb(0x10, 0x21, 0x4f);
     this.tbQuery.Properties.AppearanceFocused.BackColor2 = Color.FromArgb(0, 0, 0);
     this.tbQuery.Properties.AppearanceFocused.BorderColor = Color.FromArgb(0xbb, 0xc9, 0xe2);
     this.tbQuery.Properties.AppearanceFocused.GradientMode = LinearGradientMode.ForwardDiagonal;
     this.tbQuery.Properties.AppearanceFocused.Options.UseBackColor = true;
     this.tbQuery.Properties.AppearanceFocused.Options.UseBorderColor = true;
     this.tbQuery.Properties.BorderStyle = BorderStyles.Simple;
     this.tbQuery.Properties.LookAndFeel.SkinName = "London Liquid Sky";
     this.tbQuery.Properties.LookAndFeel.UseDefaultLookAndFeel = false;
     this.tbQuery.Size = new Size(0x269, 0x60);
     this.tbQuery.TabIndex = 0x19;
     this.btnSave.Anchor = AnchorStyles.Right | AnchorStyles.Bottom;
     this.btnSave.AutoStyle = true;
     this.btnSave.BackColor = Color.Black;
     this.btnSave.ButtonState = 0;
     this.btnSave.DialogResult = DialogResult.OK;
     this.btnSave.DisabledForecolor = Color.Gray;
     this.btnSave.DrawColor = Color.White;
     this.btnSave.DrawEdges = true;
     this.btnSave.FocusColor = Color.Yellow;
     this.btnSave.Font = new Font("Verdana", 8f, FontStyle.Bold);
     this.btnSave.ForeColor = Color.White;
     this.btnSave.HorizontalScalingMode = ScalingModes.Tile;
     this.btnSave.IsStyled = true;
     this.btnSave.Location = new Point(0x1b4, 0x185);
     this.btnSave.Name = "btnSave";
     this.btnSave.Size = new Size(0x5d, 0x1c);
     this.btnSave.SkinBasePath = @"Controls\Button\Round Edge";
     base.ttDefault.SetSuperTip(this.btnSave, null);
     this.btnSave.TabIndex = 0x1a;
     this.btnSave.TabStop = true;
     this.btnSave.Text = "<LOC>Save";
     this.btnSave.TextAlign = ContentAlignment.MiddleCenter;
     this.btnSave.TextPadding = new System.Windows.Forms.Padding(0);
     this.btnSave.Click += new EventHandler(this.btnSave_Click);
     this.cbViewType.Anchor = AnchorStyles.Left | AnchorStyles.Bottom;
     this.cbViewType.BackColor = Color.Black;
     this.cbViewType.BorderColor = Color.Black;
     this.cbViewType.DoValidate = true;
     this.cbViewType.FlatStyle = FlatStyle.Flat;
     this.cbViewType.FocusBackColor = Color.White;
     this.cbViewType.FocusBorderColor = Color.White;
     this.cbViewType.ForeColor = Color.White;
     this.cbViewType.FormattingEnabled = true;
     this.cbViewType.Items.AddRange(new object[] { "Beta Server", "GPG Test Server 1", "GPG Test Server 2", "Test Staging Server" });
     this.cbViewType.Location = new Point(12, 0x185);
     this.cbViewType.Name = "cbViewType";
     this.cbViewType.Size = new Size(0xe3, 0x15);
     base.ttDefault.SetSuperTip(this.cbViewType, null);
     this.cbViewType.TabIndex = 0x1b;
     this.cbViewType.SelectedValueChanged += new EventHandler(this.cbViewType_SelectedValueChanged);
     this.cbLabels.Anchor = AnchorStyles.Left | AnchorStyles.Bottom;
     this.cbLabels.AutoSize = true;
     this.cbLabels.Location = new Point(0xf5, 0x189);
     this.cbLabels.Name = "cbLabels";
     this.cbLabels.Size = new Size(0x89, 0x11);
     base.ttDefault.SetSuperTip(this.cbLabels, null);
     this.cbLabels.TabIndex = 0x1c;
     this.cbLabels.Text = "Show Series Labels";
     this.cbLabels.UsesBG = false;
     this.cbLabels.UseVisualStyleBackColor = true;
     this.cbLabels.CheckStateChanged += new EventHandler(this.cbLabels_CheckStateChanged);
     base.AutoScaleDimensions = new SizeF(7f, 13f);
     base.AutoScaleMode = AutoScaleMode.Font;
     base.ClientSize = new Size(640, 480);
     base.Controls.Add(this.cbLabels);
     base.Controls.Add(this.cbViewType);
     base.Controls.Add(this.btnSave);
     base.Controls.Add(this.tbQuery);
     base.Controls.Add(this.gpgChart);
     base.Controls.Add(this.btnExecute);
     this.Font = new Font("Verdana", 8f);
     base.Location = new Point(0, 0);
     base.Name = "DlgAdhocGraph";
     base.ttDefault.SetSuperTip(this, null);
     this.Text = "DlgAdhocGraph";
     base.Controls.SetChildIndex(this.btnExecute, 0);
     base.Controls.SetChildIndex(this.gpgChart, 0);
     base.Controls.SetChildIndex(this.tbQuery, 0);
     base.Controls.SetChildIndex(this.btnSave, 0);
     base.Controls.SetChildIndex(this.cbViewType, 0);
     base.Controls.SetChildIndex(this.cbLabels, 0);
     ((ISupportInitialize) base.pbBottom).EndInit();
     ((ISupportInitialize) diagram).EndInit();
     ((ISupportInitialize) view).EndInit();
     ((ISupportInitialize) series).EndInit();
     ((ISupportInitialize) this.gpgChart).EndInit();
     this.tbQuery.Properties.EndInit();
     base.ResumeLayout(false);
     base.PerformLayout();
 }
Example #38
0
        public void Bind()
        {
            List<int> channels = this.Channels;
            List<int> products = this.Products;
            CanonDataContext db = Cdb.Instance;
            List<MainMonitor> list = CanonMainMonitor.GetValuesForChart(deStartDate.Date,
                                               deFinishDate.Date, channels, products);
            foreach (int productId in products)
            {
                Product product = db.Products.Where(p => p.ProductId == productId).FirstOrDefault();
                if (product == null) continue;
                WebChartControl chart = new WebChartControl();
                chart.EnableViewState = false;
                ChartTitle title = new ChartTitle();
                title.Text = string.Format(Utilities.GetResourceString("Common", "ChartHeader"),
                                           product.ProductName, deStartDate.Date.ToString("dd.MM.yyyy"),
                                           deFinishDate.Date.ToString("dd.MM.yyyy"));
                title.Font = new System.Drawing.Font("Tahoma", 10);
                chart.Titles.Add(title);
                chart.FillStyle.FillMode = FillMode.Solid;
                Dictionary<int, Series> series = new Dictionary<int, Series>();
                Series s0 = new Series("Recommended price", ViewType.Line);
                s0.ValueScaleType = ScaleType.Numerical;
                s0.ArgumentScaleType = ScaleType.DateTime;
                series.Add(0, s0);
                foreach (int channelId in channels)
                {
                    Channel channel = db.Channels.Where(c=> c.ChannelId==channelId).FirstOrDefault();
                    if (channel == null) continue;
                    Series s = new Series(channel.ChannelName, ViewType.Line);
                    s.ValueScaleType = ScaleType.Numerical;
                    s.ArgumentScaleType = ScaleType.DateTime;
                    series.Add(channelId, s);
                }
                foreach (MainMonitor mm in list)
                {
                    if (mm.ProductId != productId) continue;
                    series[mm.ChannelId].Points.Add(new SeriesPoint(mm.CalcDate, new double[] { (double)mm.ChannelPrice }));
                    series[0].Points.Add(new SeriesPoint(mm.CalcDate, new double[] { (double)mm.RecommendedPrice }));
                }
                foreach (KeyValuePair<int, Series> serie in series)
                    chart.Series.Add(serie.Value);
                //diagram
                DevExpress.XtraCharts.XYDiagram xyDiagram = new XYDiagram();
                xyDiagram.AxisY.Title.Font = new System.Drawing.Font("Tahoma", 8);
                xyDiagram.AxisY.Title.Text = "CZK";
                xyDiagram.AxisY.Label.Staggered = false;
                xyDiagram.AxisY.Title.Visible = true;
                xyDiagram.AxisY.Range.SideMarginsEnabled = true;
                xyDiagram.AxisY.Interlaced = true;

                xyDiagram.AxisX.Title.Font = new System.Drawing.Font("Tahoma", 8);
                xyDiagram.AxisX.Label.Staggered = true;
                xyDiagram.AxisX.Range.SideMarginsEnabled = true;
                xyDiagram.AxisX.Tickmarks.MinorVisible = false;
                chart.Diagram = xyDiagram;
                chart.Width = 700;
                chart.Height = 500;
                chart.DataBind();
                panelPics.Controls.Add(chart);

                this.FilesToSave.Add(this.SaveChartIntoFile(product.ProductName, chart));
            }
        }