예제 #1
0
        //1/2/2014 NS added
        public void SetBarGraphForTopQuota(string servername)
        {
            BiggestQuotaWebChart.Series.Clear();
            DataTable dt      = VSWebBL.DashboardBL.DominoServerHealthBLL.Ins.SetBarGraphForTopQuota(servername);
            Series    series1 = new Series("Mail File", ViewType.Bar);

            series1.ArgumentDataMember = dt.Columns["Title"].ToString();
            ValueDataMemberCollection seriesValueDataMembers = (ValueDataMemberCollection)series1.ValueDataMembers;

            seriesValueDataMembers.AddRange(dt.Columns["PercentQuota"].ToString());
            //Addnig series to mailchartbox control
            BiggestQuotaWebChart.Series.Add(series1);
            ((XYDiagram)BiggestQuotaWebChart.Diagram).PaneLayoutDirection = PaneLayoutDirection.Horizontal;
            XYDiagram seriesXY = (XYDiagram)BiggestQuotaWebChart.Diagram;

            //X and Y aixs detals
            seriesXY.AxisY.Title.Text    = "Percent of Quota";
            seriesXY.AxisX.Title.Text    = "Database Name";
            seriesXY.AxisY.Title.Visible = true;
            seriesXY.AxisX.Title.Visible = true;
            seriesXY.AxisX.Label.ResolveOverlappingOptions.AllowHide    = false;
            seriesXY.AxisX.Label.ResolveOverlappingOptions.AllowRotate  = true;
            seriesXY.AxisX.Label.ResolveOverlappingOptions.AllowStagger = true;
            //12/11/2013 NS added
            seriesXY.AxisY.Label.ResolveOverlappingOptions.AllowRotate = false;

            //Enabling the series
            BiggestQuotaWebChart.Legend.Visible = false;
            ChartTitle title = new ChartTitle();

            if (servername == "All" || servername == "")
            {
                title.Text = "All Servers - Top 20 Largest Mail Files as a % of Quota";
            }
            else
            {
                title.Text = servername + " - Top 20 Largest Mail Files as a % of Quota";
            }

            BiggestQuotaWebChart.Titles.Clear();
            BiggestQuotaWebChart.Titles.Add(title);
            AxisBase axis = ((XYDiagram)BiggestQuotaWebChart.Diagram).AxisX;

            ((BarSeriesView)series1.View).ColorEach = false;
            BiggestQuotaWebChart.DataSource         = dt;
            BiggestQuotaWebChart.DataBind();
        }
예제 #2
0
        public void SetBarGraphForItemSizeDatabase(string servername)
        {
            chartItemSizeDatabase.Series.Clear();
            DataTable dt      = VSWebBL.DashboardBL.ExchangeServerDetailsBL.Ins.SetBarGraphForTopMailDatabase(servername, "FileSize");
            Series    series1 = new Series("Mail Server", ViewType.Bar);

            series1.ArgumentDataMember = dt.Columns["Title"].ToString();
            ValueDataMemberCollection seriesValueDataMembers = (ValueDataMemberCollection)series1.ValueDataMembers;

            seriesValueDataMembers.AddRange(dt.Columns["ItemCount"].ToString());
            //Addnig series to mailchartbox control
            chartItemSizeDatabase.Series.Add(series1);
            ((XYDiagram)chartItemSizeDatabase.Diagram).PaneLayoutDirection = PaneLayoutDirection.Horizontal;
            XYDiagram seriesXY = (XYDiagram)chartItemSizeDatabase.Diagram;

            //X and Y aixs detals
            seriesXY.AxisY.Title.Text    = "Message Count";
            seriesXY.AxisX.Title.Text    = "Mail User";
            seriesXY.AxisY.Title.Visible = true;
            seriesXY.AxisX.Title.Visible = true;
            seriesXY.AxisX.Label.ResolveOverlappingOptions.AllowHide    = false;
            seriesXY.AxisX.Label.ResolveOverlappingOptions.AllowRotate  = true;
            seriesXY.AxisX.Label.ResolveOverlappingOptions.AllowStagger = true;
            //12/11/2013 NS added
            seriesXY.AxisY.Label.ResolveOverlappingOptions.AllowRotate = false;

            //Enabling the series
            chartItemSizeDatabase.Legend.Visible = false;
            ChartTitle title = new ChartTitle();

            if (servername == "All")
            {
                title.Text = "All Servers Top 20 Biggest Message Count";
            }
            else
            {
                title.Text = servername + " Top 20 Biggest Message Count";
            }

            chartItemSizeDatabase.Titles.Clear();
            chartItemSizeDatabase.Titles.Add(title);
            AxisBase axis = ((XYDiagram)chartItemSizeDatabase.Diagram).AxisX;

            ((BarSeriesView)series1.View).ColorEach = false;
            chartItemSizeDatabase.DataSource        = dt;
            chartItemSizeDatabase.DataBind();
        }
예제 #3
0
        private void xrChart1_BeforePrint(object sender, System.Drawing.Printing.PrintEventArgs e)
        {
            DataTable dt;

            xrChart1.Series.Clear();
            dt = VSWebBL.DashboardBL.SametimeHealthBL.Ins.GetSametimeSummaryStats(this.StartDate.Value.ToString(), this.EndDate.Value.ToString(), this.StatName.Value.ToString());
            if (dt.Rows.Count > 0)
            {
                xrChart1.SeriesDataMember = dt.Columns["ServerName"].ToString();
                xrChart1.SeriesTemplate.ArgumentDataMember = "Date";
                xrChart1.SeriesTemplate.ValueDataMembers.AddRange(new string[] { dt.Columns["StatValue"].ToString() });
                AxisBase axisy = ((XYDiagram)xrChart1.Diagram).AxisY;
                //4/18/2014 NS modified for VSPLUS-312
                axisy.Range.AlwaysShowZeroLevel = true;
                xrChart1.DataSource             = dt;
            }
        }
예제 #4
0
 //根据数据起止时间 设置X轴时间刻度
 public static void DateTimeAlignment(TimeSpan TimeSpan, AxisBase axis)
 {
     if (TimeSpan.TotalDays > 730)
     {
         axis.DateTimeGridAlignment        = DateTimeMeasurementUnit.Year;
         axis.DateTimeMeasureUnit          = DateTimeMeasurementUnit.Month;
         axis.DateTimeOptions.FormatString = "%y-%M-%d HH:mm:ss";
         axis.GridSpacing = 1;
     }
     else if ((730 >= TimeSpan.TotalDays) && (TimeSpan.TotalDays > 310))
     {
         axis.DateTimeGridAlignment        = DateTimeMeasurementUnit.Month;
         axis.DateTimeMeasureUnit          = DateTimeMeasurementUnit.Day;
         axis.DateTimeOptions.FormatString = "%y-%M-%d HH:mm:ss";
         axis.GridSpacing = TimeSpan.TotalDays / 30 / 10;
     }
     else if ((310 >= TimeSpan.TotalDays) && (TimeSpan.TotalDays > 10))
     {
         axis.DateTimeGridAlignment        = DateTimeMeasurementUnit.Day;
         axis.DateTimeMeasureUnit          = DateTimeMeasurementUnit.Hour;
         axis.DateTimeOptions.FormatString = "%y-%M-%d HH:mm:ss";
         axis.GridSpacing = TimeSpan.TotalDays / 10;
     }
     else if ((10 >= TimeSpan.TotalDays) && (TimeSpan.TotalHours > 10))
     {
         axis.DateTimeGridAlignment        = DateTimeMeasurementUnit.Hour;
         axis.DateTimeMeasureUnit          = DateTimeMeasurementUnit.Minute;
         axis.DateTimeOptions.FormatString = "%y-%M-%d HH:mm:ss";
         axis.GridSpacing = TimeSpan.TotalHours / 10;
     }
     else if ((TimeSpan.TotalHours <= 10) && TimeSpan.TotalMinutes > 10)
     {
         axis.DateTimeGridAlignment        = DateTimeMeasurementUnit.Minute;
         axis.DateTimeMeasureUnit          = DateTimeMeasurementUnit.Second;
         axis.DateTimeOptions.FormatString = "HH:mm:ss";
         axis.GridSpacing = TimeSpan.TotalMinutes / 10;
     }
     else if (TimeSpan.TotalMinutes <= 10)
     {
         axis.DateTimeGridAlignment        = DateTimeMeasurementUnit.Second;
         axis.DateTimeMeasureUnit          = DateTimeMeasurementUnit.Second;
         axis.DateTimeOptions.FormatString = "HH:mm:ss";
         axis.GridSpacing = TimeSpan.TotalSeconds > 0 ? TimeSpan.TotalSeconds / 10 : 1;
     }
 }
예제 #5
0
        /// <inheritdoc/>
        public override void Destroy()
        {
            // Clear children first
            foreach (var child in children)
            {
                child.Destroy();
            }
            children.Clear();

            if (xAxis != null)
            {
                xAxis.TransformChanged -= AxisTransformChanged;
            }
            xAxis = null;
            if (yAxis != null)
            {
                yAxis.TransformChanged -= AxisTransformChanged;
            }
            yAxis = null;

            base.Destroy();
        }
예제 #6
0
        /// <summary>
        /// ies the axis.
        /// </summary>
        /// <param name="scale">The scale.</param>
        /// <param name="axis">The axis.</param>
        /// <param name="title">The title.</param>
        /// <returns>System.Double.</returns>
        public static double YAxis(ScaleBase scale, AxisBase axis, RadzenAxisTitle title)
        {
            var ticks = scale.Ticks(axis.TickDistance);

            double length = 0;

            for (var y = ticks.Start; y <= ticks.End; y += ticks.Step)
            {
                var text = axis.Format(scale, y);

                length = Math.Max(length, TextMeasurer.TextWidth(text));
            }

            if (!String.IsNullOrEmpty(title.Text))
            {
                length += title.Size + 32;
            }

            length += 9 + axis.StrokeWidth;

            return(Math.Max(24, length));
        }
예제 #7
0
    public void ChangeInputKey(string name, KeyCode newKey, bool negative = false)
    {
        AxisBase a = ReturnAxis(name);

        if (a == null)
        {
            Debug.Log(name + " dun goofd");
            return;
        }

        if (negative)
        {
            a.Nkey = newKey;
            a.NUIButton.ChangeKeyText(a.Nkey.ToString());
        }
        else
        {
            a.Pkey = newKey;
            a.PUIButton.ChangeKeyText(a.Pkey.ToString());
        }
        InputManager.Instance.AssignKeyboardInput(a);
    }
예제 #8
0
        private void OnAxisPlacementChanged(AxisBase obj)
        {
            if (obj is XAxis)
            {
                Grid.SetColumn(obj, 1);
                switch (((XAxis)obj).XAxisPlacement)
                {
                case XAxisPlacement.Bottom:
                    Grid.SetRow(obj, 2);
                    break;

                case XAxisPlacement.Top:
                    Grid.SetRow(obj, 0);
                    break;

                default:
                    throw new ArgumentOutOfRangeException();
                }
            }
            else
            {
                Grid.SetRow(obj, 1);

                switch (((YAxis)obj).YAxisPlacement)
                {
                case YAxisPlacement.Left:
                    Grid.SetColumn(obj, 0);
                    break;

                case YAxisPlacement.Right:
                    Grid.SetColumn(obj, 2);
                    break;

                default:
                    throw new ArgumentOutOfRangeException();
                }
            }
        }
예제 #9
0
        public DataTable SetGraphForDeviceType(string servername)
        {
            deviceTypeWebChart.Series.Clear();
            DataTable dt = VSWebBL.DashboardBL.LotusTravelerHealthBLL.Ins.SetGraphForDeviceType(servername);


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

            series.ArgumentDataMember = dt.Columns["DeviceName"].ToString();

            ValueDataMemberCollection seriesValueDataMembers = (ValueDataMemberCollection)series.ValueDataMembers;

            seriesValueDataMembers.AddRange(dt.Columns["No_of_Users"].ToString());
            deviceTypeWebChart.Series.Add(series);

            deviceTypeWebChart.Legend.Visible = false;

            ((SideBySideBarSeriesView)series.View).ColorEach = true;

            XYDiagram seriesXY = (XYDiagram)deviceTypeWebChart.Diagram;

            seriesXY.AxisX.Title.Text    = "Device Type";
            seriesXY.AxisX.Title.Visible = true;
            seriesXY.AxisX.Label.ResolveOverlappingOptions.AllowRotate = true;
            seriesXY.AxisX.Label.ResolveOverlappingOptions.AllowHide   = false;
            seriesXY.AxisY.Title.Text    = "Users";
            seriesXY.AxisY.Title.Visible = true;

            AxisBase axisy = ((XYDiagram)deviceTypeWebChart.Diagram).AxisY;

            axisy.Range.AlwaysShowZeroLevel = false;

            deviceTypeWebChart.DataSource = dt;
            deviceTypeWebChart.DataBind();

            return(dt);
        }
예제 #10
0
        /// <summary>
        /// Gets the point in the dataset that is nearest the specified point.
        /// </summary>
        /// <param name = "point">The point.</param>
        /// <param name = "dpn">The nearest point (data coordinates).</param>
        /// <param name = "spn">The nearest point (screen coordinates).</param>
        /// <returns></returns>
        public override bool GetNearestPoint(ScreenPoint point, out DataPoint dpn, out ScreenPoint spn)
        {
            spn = default(ScreenPoint);
            dpn = default(DataPoint);

            double minimumDistance = double.MaxValue;

            foreach (var p in points)
            {
                var    sp = AxisBase.Transform(p, XAxis, YAxis);
                double dx = sp.x - point.x;
                double dy = sp.y - point.y;
                double d2 = dx * dx + dy * dy;

                if (d2 < minimumDistance)
                {
                    dpn             = p;
                    spn             = sp;
                    minimumDistance = d2;
                }
            }

            return(minimumDistance < double.MaxValue);
        }
예제 #11
0
        public void GraphForDaysUp(string sortby, string stype)
        {
            ServerUpWebChartControl.Series.Clear();
            DataTable dt = VSWebBL.DashboardBL.KeyMetricsBL.Ins.GetServerDaysUp(sortby, stype);

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

            series.ArgumentDataMember = dt.Columns["Server"].ToString();
            series.Label.PointOptions.ValueNumericOptions.Format = NumericFormat.General;

            ((SideBySideBarSeriesView)series.View).ColorEach                = true;
            ((SideBySideBarSeriesLabel)series.Label).LineVisible            = true;
            ((SideBySideBarSeriesLabel)series.Label).TextOrientation        = TextOrientation.Horizontal;
            ((SideBySideBarSeriesLabel)series.Label).PointOptions.PointView = PointView.Values;
            ValueDataMemberCollection seriesValueDataMembers = (ValueDataMemberCollection)series.ValueDataMembers;

            seriesValueDataMembers.AddRange(dt.Columns["Duration"].ToString());

            series.LabelsVisibility = DevExpress.Utils.DefaultBoolean.True;

            ServerUpWebChartControl.Series.Add(series);
            ServerUpWebChartControl.SeriesTemplate.Label.PointOptions.PointView = PointView.Values;
            ServerUpWebChartControl.SeriesTemplate.LabelsVisibility             = DevExpress.Utils.DefaultBoolean.True;
            ServerUpWebChartControl.Legend.Visible = false;

            XYDiagram seriesXY = (XYDiagram)ServerUpWebChartControl.Diagram;

            ((DevExpress.XtraCharts.XYDiagram)ServerUpWebChartControl.Diagram).Rotated = true;
            //11/16/2013 NS modified the AllowRotate option to false, otherwise the server names were unreadable
            seriesXY.AxisX.Label.ResolveOverlappingOptions.AllowRotate = false;
            seriesXY.AxisX.Label.ResolveOverlappingOptions.AllowHide   = false;

            AxisBase axisy = ((XYDiagram)ServerUpWebChartControl.Diagram).AxisY;

            //4/18/2014 NS modified for VSPLUS-312
            axisy.Range.AlwaysShowZeroLevel = true;

            //2/6/2013 NS modified chart height calculations based on the number of rows
            if (dt.Rows.Count > 0)
            {
                if (dt.Rows.Count < 10)
                {
                    if (dt.Rows.Count == 1)
                    {
                        ServerUpWebChartControl.Height = 100;
                    }
                    else
                    {
                        ServerUpWebChartControl.Height = ((dt.Rows.Count) * 60) + 20;
                    }
                }
                else
                {
                    if (dt.Rows.Count >= 10 && dt.Rows.Count < 100)
                    {
                        ServerUpWebChartControl.Height = ((dt.Rows.Count) * 40) + 20;
                    }
                    else
                    {
                        if (dt.Rows.Count >= 100)
                        {
                            //11/18/2013 NS modified - the height needs to be greater than *10
                            //ServerUpWebChartControl.Height = ((dt.Rows.Count) * 10) + 20;
                            ServerUpWebChartControl.Height = ((dt.Rows.Count) * 20) + 20;
                        }
                    }
                }
            }
            ServerUpWebChartControl.DataSource = dt;
            ServerUpWebChartControl.DataBind();
        }
예제 #12
0
 public override string GetAxisLabel(float value, AxisBase axis)
 {
     return(DateTimeOffset.FromUnixTimeSeconds((long)value).ToString(_formatString ?? "MMM d"));
 }
예제 #13
0
 public override string GetAxisLabel(float value, AxisBase axis)
 {
     return(AniListEnum.GetDisplayValue <T>((int)value));
 }
예제 #14
0
 public override string GetAxisLabel(float value, AxisBase axis)
 {
     return((Math.Ceiling(value / CeilingValue) * CeilingValue).ToString());
 }
 public void GetAxesFromPoint(ScreenPoint pt, out AxisBase xaxis, out AxisBase yaxis)
 {
     Model.GetAxesFromPoint(pt, out xaxis, out yaxis);
 }
예제 #16
0
        public void GraphforResponseTime()
        {
            ResponseWebChartControl.Series.Clear();
            DataTable dt = VSWebBL.DashboardBL.ActiveDirectoryServerDetailsBL.Ins.GetResponseTime();

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

            series.ArgumentDataMember = dt.Columns["Server"].ToString();
            //10/30/2013 NS added - point labels on series
            series.LabelsVisibility = DevExpress.Utils.DefaultBoolean.True;

            ValueDataMemberCollection seriesValueDataMembers = (ValueDataMemberCollection)series.ValueDataMembers;

            seriesValueDataMembers.AddRange(dt.Columns["ResponseTime"].ToString());
            ResponseWebChartControl.Series.Add(series);

            ResponseWebChartControl.Legend.Visible = false;

            ((SideBySideBarSeriesView)series.View).ColorEach = true;

            //AxisBase axisx = ((XYDiagram)deviceTypeWebChart.Diagram).AxisX;

            XYDiagram seriesXY = (XYDiagram)ResponseWebChartControl.Diagram;

            // seriesXY.AxisX.Title.Text = "Milliseconds";
            // seriesXY.AxisX.Title.Visible = true;
            ((DevExpress.XtraCharts.XYDiagram)ResponseWebChartControl.Diagram).Rotated = true;
            //11/16/2013 NS modified the AllowRotate option to false, otherwise the server names were unreadable
            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.Text    = " Servers";
            seriesXY.AxisX.Title.Visible = true;

            AxisBase axisy = ((XYDiagram)ResponseWebChartControl.Diagram).AxisY;

            //4/18/2014 NS modified for VSPLUS-312
            axisy.Range.AlwaysShowZeroLevel = true;

            //2/6/2013 NS modified chart height calculations based on the number of rows
            if (dt.Rows.Count > 0)
            {
                if (dt.Rows.Count < 4)
                {
                    ResponseWebChartControl.Height = 200;
                }
                else
                {
                    if (dt.Rows.Count >= 4 && dt.Rows.Count < 10)
                    {
                        ResponseWebChartControl.Height = ((dt.Rows.Count) * 50) + 20;
                    }
                    else
                    {
                        if (dt.Rows.Count >= 10 && dt.Rows.Count < 100)
                        {
                            ResponseWebChartControl.Height = ((dt.Rows.Count) * 40) + 20;
                        }
                        else
                        {
                            if (dt.Rows.Count >= 100)
                            {
                                ResponseWebChartControl.Height = ((dt.Rows.Count) * 20) + 20;
                            }
                        }
                    }
                }
            }
            //ResponseWebChartControl.Width = new Unit(1000);
            ResponseWebChartControl.DataSource = dt;
            ResponseWebChartControl.DataBind();
        }
예제 #17
0
 public void ZoomAt(AxisBase axis, double factor, double x)
 {
     axis.ZoomAt(factor, x);
 }
예제 #18
0
 public void Reset(AxisBase axis)
 {
     axis.Reset();
 }
예제 #19
0
 public void GetAxesFromPoint(ScreenPoint pt, out AxisBase xaxis, out AxisBase yaxis)
 {
     Model.GetAxesFromPoint(pt, out xaxis, out yaxis);
 }
 public void Zoom(AxisBase axis, double p1, double p2)
 {
     axis.Zoom(p1, p2);
 }
 public void Reset(AxisBase axis)
 {
     axis.Reset();
 }
 public void Pan(AxisBase axis, double dx)
 {
     axis.Pan(dx);
 }
예제 #23
0
 public static void SetDefaultYAxis(DependencyObject element, AxisBase value)
 {
     element.SetValue(DefaultYAxisProperty, value);
 }
예제 #24
0
 public static void SetAlternativeYAxis(DependencyObject element, AxisBase value)
 {
     element.SetValue(AlternativeYAxisProperty, value);
 }
예제 #25
0
        public void SetAxis(double scrollOffset, AnyChart parent, AxisBase axis, ChartOrientation axisOrientation, bool isSubDivisions)
        {
            mScrollOffset   = scrollOffset;
            raycastTarget   = false;
            color           = Color.white;
            mAxis           = axis;
            mParent         = parent;
            mIsSubDivisions = isSubDivisions;
            mOrientation    = axisOrientation;

            if (mMesh == null)
            {
                mMesh             = new CanvasChartMesh(true);
                mMesh.RecycleText = true;
            }
            mMesh.Clear();

            if (isSubDivisions)
            {
                mAxis.AddMainDivisionToChartMesh(mScrollOffset, mParent, transform, mMesh, mOrientation);
            }
            else
            {
                mAxis.AddSubdivisionToChartMesh(mScrollOffset, mParent, transform, mMesh, mOrientation);
            }

            mTexts = mMesh.CurrentTextObjects;
            if (mMesh.TextObjects != null)
            {
                foreach (BillboardText text in mMesh.TextObjects)
                {
                    ((IInternalUse)parent).InternalTextController.AddText(text);
                }
            }

            canvasRenderer.materialCount = 1;
            if (mDispose != null)
            {
                ChartCommon.SafeDestroy(mDispose);
            }

            float tiling = 1f;

            if (!isSubDivisions)
            {
                if (axis.SubDivisions.Material != null)
                {
                    mMaterial          = axis.SubDivisions.Material;
                    mDispose           = new Material(mMaterial);
                    mDispose.hideFlags = HideFlags.DontSave;
                    material           = mDispose;
                    tiling             = GetTiling(axis.SubDivisions.MaterialTiling);
                }
            }
            else
            {
                if (axis.MainDivisions.Material != null)
                {
                    mMaterial          = axis.MainDivisions.Material;
                    mDispose           = new Material(mMaterial);
                    mDispose.hideFlags = HideFlags.DontSave;
                    material           = mDispose;
                    tiling             = GetTiling(axis.MainDivisions.MaterialTiling);
                }
            }
            mTiling = tiling;
            if (mDispose != null)
            {
                if (mDispose.HasProperty("_ChartTiling"))
                {
                    mDispose.SetFloat("_ChartTiling", tiling);
                }
            }
            SetAllDirty();
            Rebuild(CanvasUpdate.PreRender);
            mMesh.DestoryRecycled();
        }
 public void ZoomAt(AxisBase axis, double factor, double x)
 {
     axis.ZoomAt(factor, x);
 }
        public string GetFormattedValue(float value, AxisBase axis)
        {
            ISharedPreferences prefs = PreferenceManager.GetDefaultSharedPreferences(_context);

            return(prefs.GetString("CurrencySymbolSelected", "") + value);
        }
예제 #28
0
 public void Pan(AxisBase axis, double dx)
 {
     axis.Pan(dx);
 }
예제 #29
0
        public void GraphforResponseTime(string param, string sname, string stype, string UserType)
        {
            CostperUserservedWebChartControl.Series.Clear();
            DataTable dt = new DataTable();

            if (TypeComboBox.Text == "Exchange")
            {
                UserType = UserTypeComboBox.Text;

                dt = VSWebBL.DashboardBL.KeyMetricsBL.Ins.GetCostperuserserveddata(param, sname, stype, UserType);
            }
            else
            {
                dt = VSWebBL.DashboardBL.KeyMetricsBL.Ins.GetCostperuserserveddataForDomino(param, sname, stype);
            }


            for (int i = 0; i < dt.Rows.Count; i++)
            {
                decimal avgusers             = Convert.ToDecimal(dt.Rows[i]["StatValue"].ToString() == "" ? "0" : dt.Rows[i]["StatValue"].ToString());//dt.Rows[i]["MonthlyOperatingCost"]
                decimal MonthlyopeartingCost = Convert.ToDecimal(dt.Rows[i]["MonthlyOperatingCost"].ToString() == "" ? "0" : dt.Rows[i]["MonthlyOperatingCost"].ToString());
                if (avgusers != 0)
                {
                    dt.Rows[i]["StatValue"] = Math.Round((MonthlyopeartingCost / avgusers), 2);
                }
                else
                {
                    dt.Rows[i]["StatValue"] = "0";
                }
            }
            DataView dv = dt.AsDataView();

            if (SortRadioButtonList1.Value.ToString() == "1")
            {
                dv.Sort = "ServerName DESC";
            }
            else
            {
                dv.Sort = "StatValue ASC";
            }

            DataTable sortedDT = dv.ToTable();
            Series    series   = new Series("usercount", ViewType.Bar);

            series.ArgumentDataMember = "servername";
            //10/30/2013 NS added - point labels on series
            series.LabelsVisibility = DevExpress.Utils.DefaultBoolean.True;

            ValueDataMemberCollection seriesValueDataMembers = (ValueDataMemberCollection)series.ValueDataMembers;

            seriesValueDataMembers.AddRange("StatValue");
            CostperUserservedWebChartControl.Series.Add(series);

            CostperUserservedWebChartControl.Legend.Visible = false;

            ((SideBySideBarSeriesView)series.View).ColorEach = true;

            //AxisBase axisx = ((XYDiagram)deviceTypeWebChart.Diagram).AxisX;

            XYDiagram seriesXY = (XYDiagram)CostperUserservedWebChartControl.Diagram;

            // seriesXY.AxisX.Title.Text = "Milliseconds";
            // seriesXY.AxisX.Title.Visible = true;
            ((DevExpress.XtraCharts.XYDiagram)CostperUserservedWebChartControl.Diagram).Rotated = true;
            //11/16/2013 NS modified the AllowRotate option to false, otherwise the server names were unreadable
            seriesXY.AxisX.Label.ResolveOverlappingOptions.AllowRotate = false;
            seriesXY.AxisX.Label.ResolveOverlappingOptions.AllowHide   = false;
            seriesXY.AxisY.Title.Text    = "Cost Per User Served";
            seriesXY.AxisY.Title.Visible = true;

            AxisBase axisy = ((XYDiagram)CostperUserservedWebChartControl.Diagram).AxisY;

            //4/18/2014 NS modified for VSPLUS-312
            axisy.Range.AlwaysShowZeroLevel = true;
            //series.Label.PointOptions.ValueNumericOptions.Format = NumericFormat.Number;
            //series.Label.PointOptions.ValueNumericOptions.Precision = 0;
            axisy.Range.AlwaysShowZeroLevel = true;
            seriesXY.AxisY.GridSpacingAuto  = true;
            //double min = Convert.ToDouble(((XYDiagram)CostperUserservedWebChartControl.Diagram).AxisY.Range.MinValue);
            //double max = Convert.ToDouble(((XYDiagram)CostperUserservedWebChartControl.Diagram).AxisY.Range.MaxValue);

            //int gs = (int)((max - min) / 5);

            //if (gs == 0)
            //    gs = 1;

            //((XYDiagram)CostperUserservedWebChartControl.Diagram).AxisY.GridSpacingAuto = false;
            //((XYDiagram)CostperUserservedWebChartControl.Diagram).AxisY.GridSpacing = gs;

            //2/6/2013 NS modified chart height calculations based on the number of rows
            if (sortedDT.Rows.Count > 0)
            {
                if (sortedDT.Rows.Count < 4)
                {
                    CostperUserservedWebChartControl.Height = 200;
                }
                else
                {
                    if (sortedDT.Rows.Count >= 4 && sortedDT.Rows.Count < 10)
                    {
                        CostperUserservedWebChartControl.Height = ((sortedDT.Rows.Count) * 50) + 20;
                    }
                    else
                    {
                        if (sortedDT.Rows.Count >= 10 && sortedDT.Rows.Count < 100)
                        {
                            CostperUserservedWebChartControl.Height = ((sortedDT.Rows.Count) * 40) + 20;
                        }
                        else
                        {
                            if (sortedDT.Rows.Count >= 100)
                            {
                                CostperUserservedWebChartControl.Height = ((sortedDT.Rows.Count) * 20) + 20;
                            }
                        }
                    }
                }
            }


            //10/20/2015 NS modified for VSPLUS-2072
            UI uiobj = new UI();

            uiobj.RecalibrateChartAxes(CostperUserservedWebChartControl.Diagram, "Y", "int", "int");
            CostperUserservedWebChartControl.DataSource = sortedDT;
            CostperUserservedWebChartControl.DataBind();
        }
예제 #30
0
 public void Zoom(AxisBase axis, double p1, double p2)
 {
     axis.Zoom(p1, p2);
 }
예제 #31
0
        protected virtual void SetupXtraChartsAxis(AxisBase axis)
        {
            var axisX      = axis as AxisXBase;
            var axisX3D    = axis as AxisX3D;
            var axisXRadar = axis as RadarAxisX;

            //Y axis does not use QualitativeScaleOptions

            /*
             * var axisY      = axis as AxisYBase;
             * var axisY3D    = axis as AxisY3D;
             * var axisYRadar = axis as RadarAxisY;
             */

            if (AggregateFunction.HasValue)
            {
                axis.DateTimeScaleOptions.AggregateFunction = AggregateFunction.Value;
                axis.NumericScaleOptions.AggregateFunction  = AggregateFunction.Value;
                if (axisX != null)
                {
                    axisX.QualitativeScaleOptions.AggregateFunction = AggregateFunction.Value;
                }
            }

            axis.DateTimeScaleOptions.AutoGrid = !NoAutoGrid;
            axis.NumericScaleOptions.AutoGrid  = !NoAutoGrid;
            if (axisX != null)
            {
                axisX.QualitativeScaleOptions.AutoGrid = !NoAutoGrid;
            }
            if (axisX3D != null)
            {
                axisX3D.QualitativeScaleOptions.AutoGrid = !NoAutoGrid;
            }
            if (axisXRadar != null)
            {
                axisXRadar.QualitativeScaleOptions.AutoGrid = !NoAutoGrid;
            }

            if (ScaleMode.HasValue)
            {
                axis.DateTimeScaleOptions.ScaleMode = ScaleMode.Value;
                axis.NumericScaleOptions.ScaleMode  = ScaleMode.Value;
            }

            if (GridOffset.HasValue)
            {
                axis.DateTimeScaleOptions.GridOffset = GridOffset.Value;
                axis.NumericScaleOptions.GridOffset  = GridOffset.Value;
                if (axisX != null)
                {
                    axisX.QualitativeScaleOptions.GridOffset = GridOffset.Value;
                }
                if (axisX3D != null)
                {
                    axisX3D.QualitativeScaleOptions.GridOffset = GridOffset.Value;
                }
                if (axisXRadar != null)
                {
                    axisXRadar.QualitativeScaleOptions.GridOffset = GridOffset.Value;
                }
            }

            if (GridSpacing.HasValue)
            {
                axis.DateTimeScaleOptions.GridSpacing = GridSpacing.Value;
                axis.NumericScaleOptions.GridSpacing  = GridSpacing.Value;
                if (axisX != null)
                {
                    axisX.QualitativeScaleOptions.GridSpacing = GridSpacing.Value;
                }
                if (axisX3D != null)
                {
                    axisX3D.QualitativeScaleOptions.GridSpacing = GridSpacing.Value;
                }
                if (axisXRadar != null)
                {
                    axisXRadar.QualitativeScaleOptions.GridSpacing = GridSpacing.Value;
                }
            }

            if (MeasureUnitMultiplier.HasValue)
            {
                axis.DateTimeScaleOptions.MeasureUnitMultiplier = MeasureUnitMultiplier.Value;
            }

            if (MinGridSpacingLength.HasValue)
            {
                axis.DateTimeScaleOptions.MinGridSpacingLength = MinGridSpacingLength.Value;
                axis.NumericScaleOptions.MinGridSpacingLength  = MinGridSpacingLength.Value;
                if (axisX != null)
                {
                    axisX.QualitativeScaleOptions.MinGridSpacingLength = MinGridSpacingLength.Value;
                }
                if (axisX3D != null)
                {
                    axisX3D.QualitativeScaleOptions.MinGridSpacingLength = MinGridSpacingLength.Value;
                }
                if (axisXRadar != null)
                {
                    axisXRadar.QualitativeScaleOptions.MinGridSpacingLength = MinGridSpacingLength.Value;
                }
            }

            if (ProcessMissingPoints.HasValue)
            {
                axis.DateTimeScaleOptions.ProcessMissingPoints = ProcessMissingPoints.Value;
                axis.NumericScaleOptions.ProcessMissingPoints  = ProcessMissingPoints.Value;
            }

            if (DateTimeGridAlignment.HasValue)
            {
                axis.DateTimeScaleOptions.GridAlignment = DateTimeGridAlignment.Value;
            }

            if (DateTimeMeasureUnit.HasValue)
            {
                axis.DateTimeScaleOptions.MeasureUnit = DateTimeMeasureUnit.Value;
            }

            if (NumericGridAlignment.HasValue)
            {
                axis.NumericScaleOptions.CustomGridAlignment = NumericGridAlignment.Value;
            }

            if (NumericMeasureUnit.HasValue)
            {
                axis.NumericScaleOptions.CustomMeasureUnit = NumericMeasureUnit.Value;
            }

            var majorLineColor = Utils.ColorFromString(MajorLineColor);

            if (majorLineColor != System.Drawing.Color.Empty)
            {
                axis.GridLines.Color   = majorLineColor;
                axis.GridLines.Visible = true;
            }
            if (MajorLineDashStyle.HasValue)
            {
                axis.GridLines.LineStyle.DashStyle = MajorLineDashStyle.Value;
                axis.GridLines.Visible             = true;
            }
            if (MajorLineJoin.HasValue)
            {
                axis.GridLines.LineStyle.LineJoin = MajorLineJoin.Value;
                axis.GridLines.Visible            = true;
            }
            if (MajorLineThickness.HasValue)
            {
                axis.GridLines.LineStyle.Thickness = MajorLineThickness.Value;
                axis.GridLines.Visible             = true;
            }

            var minorLineColor = Utils.ColorFromString(MinorLineColor);

            if (minorLineColor != System.Drawing.Color.Empty)
            {
                axis.GridLines.MinorColor   = minorLineColor;
                axis.GridLines.MinorVisible = true;
            }
            if (MinorLineDashStyle.HasValue)
            {
                axis.GridLines.MinorLineStyle.DashStyle = MinorLineDashStyle.Value;
                axis.GridLines.MinorVisible             = true;
            }
            if (MinorLineJoin.HasValue)
            {
                axis.GridLines.MinorLineStyle.LineJoin = MinorLineJoin.Value;
                axis.GridLines.MinorVisible            = true;
            }
            if (MinorLineThickness.HasValue)
            {
                axis.GridLines.MinorLineStyle.Thickness = MinorLineThickness.Value;
                axis.GridLines.MinorVisible             = true;
            }
            if (ShowLines)
            {
                axis.GridLines.Visible = true;
            }
            if (ShowMinorLines)
            {
                axis.GridLines.MinorVisible = true;
            }

            if (Interlaced)
            {
                axis.Interlaced = true;
            }

            var interlacedColor = Utils.ColorFromString(InterlacedColor);

            if (interlacedColor != System.Drawing.Color.Empty)
            {
                axis.InterlacedColor = interlacedColor;
            }

            if (Logarithmic)
            {
                axis.Logarithmic = true;
            }
            if (LogarithmicBase.HasValue)
            {
                axis.LogarithmicBase = LogarithmicBase.Value;
            }

            if (MinorCount.HasValue)
            {
                axis.MinorCount = MinorCount.Value;
            }

            if (AlwaysShowZeroLevel)
            {
                axis.WholeRange.AlwaysShowZeroLevel = true;
            }

            if (MinValue != null)
            {
                axis.WholeRange.MinValue = MinValue;
            }
            if (MaxValue != null)
            {
                axis.WholeRange.MaxValue = MaxValue;
            }

            if (SideMarginsValue.HasValue)
            {
                axis.WholeRange.SideMarginsValue = SideMarginsValue.Value;
                axis.WholeRange.AutoSideMargins  = false;
            }


            if (axis is Axis2D axis2D)
            {
                if (Alignment.HasValue)
                {
                    axis2D.Alignment = Alignment.Value;
                }

                var color = Utils.ColorFromString(Color);
                if (color != System.Drawing.Color.Empty)
                {
                    axis2D.Color = color;
                }

                if (InterlacedFillMode.HasValue)
                {
                    axis2D.InterlacedFillStyle.FillMode = InterlacedFillMode.Value;
                    switch (InterlacedFillMode.Value)
                    {
                    case DevExpress.XtraCharts.FillMode.Empty:
                        break;

                    case DevExpress.XtraCharts.FillMode.Solid:
                        break;

                    case DevExpress.XtraCharts.FillMode.Gradient:
                        if (axis2D.InterlacedFillStyle.Options is RectangleGradientFillOptions gradientOptions)
                        {
                            var color2 = Utils.ColorFromString(InterlacedColor2);
                            if (color2 != System.Drawing.Color.Empty)
                            {
                                gradientOptions.Color2 = color2;
                            }
                            if (InterlacedGradientMode.HasValue)
                            {
                                gradientOptions.GradientMode = InterlacedGradientMode.Value;
                            }
                        }
                        break;

                    case DevExpress.XtraCharts.FillMode.Hatch:
                        if (axis2D.InterlacedFillStyle.Options is HatchFillOptions hatchOptions)
                        {
                            var color2 = Utils.ColorFromString(InterlacedColor2);
                            if (color2 != System.Drawing.Color.Empty)
                            {
                                hatchOptions.Color2 = color2;
                            }
                            if (InterlacedHatchStyle.HasValue)
                            {
                                hatchOptions.HatchStyle = InterlacedHatchStyle.Value;
                            }
                        }
                        break;
                    }
                }

                if (LabelVisibilityMode.HasValue)
                {
                    axis2D.LabelVisibilityMode = LabelVisibilityMode.Value;
                }

                if (Thickness.HasValue)
                {
                    axis2D.Thickness = Thickness.Value;
                }

                if (TickmarkCrossAxis)
                {
                    axis2D.Tickmarks.CrossAxis = true;
                }

                if (MajorTickmarkLength.HasValue)
                {
                    axis2D.Tickmarks.Length = MajorTickmarkLength.Value;
                }
                if (MajorTickmarkThickness.HasValue)
                {
                    axis2D.Tickmarks.Thickness = MajorTickmarkThickness.Value;
                }
                if (MinorTickmarkLength.HasValue)
                {
                    axis2D.Tickmarks.Length = MinorTickmarkLength.Value;
                }
                if (MinorTickmarkThickness.HasValue)
                {
                    axis2D.Tickmarks.Thickness = MinorTickmarkThickness.Value;
                }
                if (HideMajorTickmarks)
                {
                    axis2D.Tickmarks.Visible = false;
                }
                if (HideMinorTickmarks)
                {
                    axis2D.Tickmarks.MinorVisible = false;
                }

                if (Visibility.HasValue)
                {
                    axis2D.Visibility = Visibility.Value ? DevExpress.Utils.DefaultBoolean.True : DevExpress.Utils.DefaultBoolean.False;
                }
                if (VisibleInPanes != null && VisibleInPanes.Length > 0)
                {
                    if (ChartContext.Chart.Diagram is not XYDiagram chartDiagram)
                    {
                        throw new Exception("Property VisibleInPanes can be set only in 2D XY charts.");
                    }

                    foreach (var paneName in VisibleInPanes)
                    {
                        var pane = chartDiagram.Panes[paneName];
                        if (pane == null)
                        {
                            throw new Exception($"Cannot find pane '{paneName}' to setup VisibleInPanes.");
                        }

                        axis2D.SetVisibilityInPane(true, pane);
                    }
                }
                if (HiddenInPanes != null && HiddenInPanes.Length > 0)
                {
                    if (ChartContext.Chart.Diagram is not XYDiagram chartDiagram)
                    {
                        throw new Exception("Property HiddenInPanes can be set only in 2D XY charts.");
                    }

                    foreach (var paneName in HiddenInPanes)
                    {
                        var pane = chartDiagram.Panes[paneName];
                        if (pane == null)
                        {
                            throw new Exception($"Cannot find pane '{paneName}' to setup HiddenInPanes.");
                        }

                        axis2D.SetVisibilityInPane(false, pane);
                    }
                }
            }

            if (axis is Axis axisEx)
            {
                if (AutoScaleBreaks)
                {
                    axisEx.AutoScaleBreaks.Enabled = true;
                }
                if (AutoScaleBreaksMaxCount.HasValue)
                {
                    axisEx.AutoScaleBreaks.MaxCount = AutoScaleBreaksMaxCount.Value;
                    axisEx.AutoScaleBreaks.Enabled  = true;
                }

                var scaleBreakColor = Utils.ColorFromString(ScaleBreakColor);
                if (scaleBreakColor != System.Drawing.Color.Empty)
                {
                    axisEx.ScaleBreakOptions.Color = scaleBreakColor;
                }

                if (ScaleBreakSize.HasValue)
                {
                    axisEx.ScaleBreakOptions.SizeInPixels = ScaleBreakSize.Value;
                }

                if (ScaleBreakStyle.HasValue)
                {
                    axisEx.ScaleBreakOptions.Style = ScaleBreakStyle.Value;
                }

                if (Reverse)
                {
                    axisEx.Reverse = Reverse;
                }
            }

            if (axis is RadarAxis axisRadar)
            {
                if (InterlacedFillMode.HasValue)
                {
                    axisRadar.InterlacedFillStyle.FillMode = InterlacedFillMode.Value;
                    switch (InterlacedFillMode.Value)
                    {
                    case DevExpress.XtraCharts.FillMode.Empty:
                        break;

                    case DevExpress.XtraCharts.FillMode.Solid:
                        break;

                    case DevExpress.XtraCharts.FillMode.Gradient:
                        if (axisRadar.InterlacedFillStyle.Options is PolygonGradientFillOptions polygonOptions)
                        {
                            var color2 = Utils.ColorFromString(InterlacedColor2);
                            if (color2 != System.Drawing.Color.Empty)
                            {
                                polygonOptions.Color2 = color2;
                            }
                            if (InterlacedGradientMode.HasValue)
                            {
                                polygonOptions.GradientMode = InterlacedRadarGradientMode.Value;
                            }
                        }
                        break;

                    case DevExpress.XtraCharts.FillMode.Hatch:
                        if (axisRadar.InterlacedFillStyle.Options is HatchFillOptions hatchOptions)
                        {
                            var color2 = Utils.ColorFromString(InterlacedColor2);
                            if (color2 != System.Drawing.Color.Empty)
                            {
                                hatchOptions.Color2 = color2;
                            }
                            if (InterlacedHatchStyle.HasValue)
                            {
                                hatchOptions.HatchStyle = InterlacedHatchStyle.Value;
                            }
                        }
                        break;
                    }
                }
            }
        }
예제 #32
0
        /// <summary>
        /// sets the axis settings. Calling this method will cause the axisgenerator to create the axis mesh
        /// </summary>
        /// <param name="parent"></param>
        /// <param name="axis"></param>
        /// <param name="axisOrientation"></param>
        /// <param name="isSubDivisions"></param>
        public void SetAxis(double scrollOffset, AnyChart parent, AxisBase axis, ChartOrientation axisOrientation, bool isSubDivisions)
        {
            mScroll        = scrollOffset;
            mParent        = parent;
            mAxis          = axis;
            mOrientation   = axisOrientation;
            mIsSubDivision = isSubDivisions;
            if (mMesh == null)
            {
                mMesh             = new WorldSpaceChartMesh(2);
                mMesh.RecycleText = true;
            }

            mMesh.Clear();
            mMesh.Orientation = axisOrientation;
            mAxis             = axis;
            if (isSubDivisions)
            {
                axis.AddSubdivisionToChartMesh(scrollOffset, parent, transform, mMesh, axisOrientation);
            }
            else
            {
                axis.AddMainDivisionToChartMesh(scrollOffset, parent, transform, mMesh, axisOrientation);
            }
            if (mMesh.TextObjects != null)
            {
                foreach (BillboardText text in mMesh.TextObjects)
                {
                    ((IInternalUse)parent).InternalTextController.AddText(text);
                }
            }
            mTexts = mMesh.CurrentTextObjects;

            Mesh newMesh = mMesh.Generate(mCreated);

            mCreated          = newMesh;
            newMesh.hideFlags = HideFlags.DontSave;
            if (mFilter == null)
            {
                mFilter = GetComponent <MeshFilter>();
            }
            mFilter.sharedMesh = newMesh;
            MeshCollider collider = GetComponent <MeshCollider>();

            if (collider != null)
            {
                collider.sharedMesh = newMesh;
            }
            ChartCommon.CleanMesh(newMesh, ref mCleanMesh);

            MeshRenderer renderer = GetComponent <MeshRenderer>();

            if (renderer != null)
            {
                Material m      = mAxis.MainDivisions.Material;
                float    tiling = GetTiling(parent, axisOrientation, mAxis.MainDivisions);
                if (isSubDivisions)
                {
                    m      = mAxis.SubDivisions.Material;
                    tiling = GetTiling(parent, axisOrientation, mAxis.SubDivisions);
                }
                mMaterial = m;
                if (m != null)
                {
                    ChartCommon.SafeDestroy(mDispose);
                    mDispose                = new Material(m);
                    mDispose.hideFlags      = HideFlags.DontSave;
                    renderer.sharedMaterial = mDispose;
                    mTiling = tiling;
                    if (mDispose.HasProperty("_ChartTiling"))
                    {
                        mDispose.SetFloat("_ChartTiling", mTiling);
                    }
                }
            }
            mMesh.DestoryRecycled();
        }
예제 #33
0
 public string GetFormattedValue(float value, AxisBase axis)
 {
     return(RezultingStrings[(int)(value)]);
 }
예제 #34
0
        public void SetGraphForHttpSessions(string paramValue, string serverName)
        {
            httpSessionsWebChart.Series.Clear();
            DataTable dt = VSWebBL.DashboardBL.QuickrHealthBLL.Ins.SetGraphForHttpSessions(paramValue, serverName);

            if (dt.Rows.Count <= 0)
            {
            }
            else
            {
                Series series = new Series("HttpSessions", ViewType.Line);

                series.Visible = true;

                series.ArgumentDataMember = dt.Columns["Date"].ToString();

                ValueDataMemberCollection seriesValueDataMembers = (ValueDataMemberCollection)series.ValueDataMembers;
                seriesValueDataMembers.AddRange(dt.Columns["StatValue"].ToString());

                httpSessionsWebChart.Series.Add(series);

                XYDiagram seriesXY = (XYDiagram)httpSessionsWebChart.Diagram;
                seriesXY.AxisX.Title.Text    = "Time";
                seriesXY.AxisX.Title.Visible = true;
                seriesXY.AxisY.Title.Text    = "Value";
                seriesXY.AxisY.Title.Visible = true;

                //1/9/2013 NS commented out constant line for Quickr server since there is no HTTP_MaxConfiguredConnections
                //value anywhere in the Quickr table

                /*
                 * ConstantLine constantLine1 = new ConstantLine("Constant Line 1");
                 * seriesXY.AxisY.ConstantLines.Add(constantLine1);
                 * constantLine1.AxisValue = dt.Rows[0][2].ToString();
                 * constantLine1.Visible = true;
                 * constantLine1.ShowBehind = false;
                 * constantLine1.Title.Visible = true;
                 * constantLine1.Title.Text = "Threshold : " + dt.Rows[0][2].ToString();
                 * constantLine1.Title.TextColor = Color.Red;
                 * constantLine1.Title.Antialiasing = false;
                 * constantLine1.Title.Font = new Font("Tahoma", 10, FontStyle.Regular);
                 * constantLine1.Title.ShowBelowLine = false;
                 * constantLine1.Title.Alignment = ConstantLineTitleAlignment.Near;
                 * constantLine1.Color = Color.Red;
                 * constantLine1.LineStyle.DashStyle = DashStyle.Solid;
                 */
                //constantLine1.LineStyle.Thickness = 2;

                ((LineSeriesView)series.View).LineMarkerOptions.Size  = 8;
                ((LineSeriesView)series.View).LineMarkerOptions.Color = Color.White;

                AxisBase axisx = ((XYDiagram)httpSessionsWebChart.Diagram).AxisX;
                //axisx.DateTimeGridAlignment = DateTimeMeasurementUnit.Day;
                axisx.GridSpacingAuto = false;
                axisx.MinorCount      = 15;
                axisx.GridSpacing     = 1;
                //axisx.DateTimeOptions.Format = DateTimeFormat.Custom;
                //axisx.DateTimeOptions.FormatString = "dd/MM HH:mm";
                if (paramValue == "hh")
                {
                    //4/18/2014 NS commented out for VSPLUS-312
                    //axisx.DateTimeGridAlignment = DateTimeMeasurementUnit.Hour;
                    axisx.DateTimeMeasureUnit    = DateTimeMeasurementUnit.Minute;
                    axisx.DateTimeOptions.Format = DateTimeFormat.ShortTime;
                }
                else
                {
                    //4/18/2014 NS commented out for VSPLUS-312
                    //axisx.DateTimeGridAlignment = DateTimeMeasurementUnit.Day;
                    axisx.DateTimeOptions.Format = DateTimeFormat.ShortDate;
                }
                axisx.Range.SideMarginsEnabled = true;
                axisx.GridLines.Visible        = false;

                AxisBase axisy = ((XYDiagram)httpSessionsWebChart.Diagram).AxisY;
                axisy.Range.AlwaysShowZeroLevel     = false;
                axisy.Range.SideMarginsEnabled      = true;
                axisy.GridLines.Visible             = true;
                ((LineSeriesView)series.View).Color = Color.Blue;

                httpSessionsWebChart.Legend.Visible = false;

                httpSessionsWebChart.DataSource = dt;
                httpSessionsWebChart.DataBind();
            }
        }
예제 #35
0
        private void chartControl1_CustomDrawAxisLabel(object sender, CustomDrawAxisLabelEventArgs e)
        {
            AxisBase axis = e.Item.Axis;

            if (axis.Tag == null)
            {
                return;
            }

            var tag = axis.Tag.ToString();

            switch (tag)
            {
            case "x":
                string valueX = e.Item.AxisValue.ToString().Trim();
                if (!_visibleAxisXLableText.Contains(valueX))
                {
                    e.Item.Text = string.Empty;
                }
                break;

            case "y":
                double valueY = CommonHelper.StringToDouble(e.Item.AxisValue.ToString());
                e.Item.Text = valueY.ToString("F2");
                if (valueY == _preClose)
                {
                    e.Item.TextColor = Color.White;
                }
                else if (valueY < _preClose)
                {
                    e.Item.TextColor = Color.Green;
                }
                else if (valueY > _preClose)
                {
                    e.Item.TextColor = Color.FromArgb(204, 51, 0);
                }
                break;

            case "y1":
                double valueY1 = CommonHelper.StringToDouble(e.Item.AxisValue.ToString());
                e.Item.Text = valueY1.ToString("P2");
                if (valueY1 == 0)
                {
                    e.Item.TextColor = Color.White;
                }
                else if (valueY1 < 0)
                {
                    e.Item.Text      = e.Item.Text.Substring(1, e.Item.Text.Length - 1);
                    e.Item.TextColor = Color.Green;
                }
                else if (valueY1 > 0)
                {
                    e.Item.TextColor = Color.FromArgb(204, 51, 0);
                }
                break;

            case "y2":
            default:
                break;
            }
        }