static void DateTimeGridAlignmentChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
        {
            ChartClientModel model = d as ChartClientModel;

            if (model != null && e.NewValue != null)
            {
                DateTimeGridAlignment gridAlignment = (DateTimeGridAlignment)(((ListBoxEditItem)(e.NewValue)).Tag);
                model.GridSpacingVisibility = gridAlignment.Equals(DateTimeGridAlignment.Auto) ? Visibility.Collapsed : Visibility.Visible;
                model.UpdateGridSpacing(gridAlignment);
            }
        }
        double GetMinimumGridSpacing(DateTimeGridAlignment gridAlignment)
        {
            switch (gridAlignment)
            {
            case DateTimeGridAlignment.Day:
                return(5);

            case DateTimeGridAlignment.Month:
                return(1);

            case DateTimeGridAlignment.Week:
                return(2);

            case DateTimeGridAlignment.Auto:
            default:
                return(1);
            }
        }
 void UpdateGridSpacing(DateTimeGridAlignment gridAlignment)
 {
     MinimumGridSpacing = GetMinimumGridSpacing(gridAlignment);
     MaximumGridSpacing = GetMaximumGridSpacing(gridAlignment);
     MiddleGridSpacing  = (MinimumGridSpacing + MaximumGridSpacing) / 2;
 }
 void SetAxisXGridAlignment(DateTimeGridAlignment gridAlignment)
 {
     AxisX.DateTimeScaleOptions.AutoGrid      = false;
     AxisX.DateTimeScaleOptions.GridAlignment = gridAlignment;
 }
예제 #5
0
 public void DinhDangX(DateTimeGridAlignment x, DateTimeMeasureUnit y)
 {
 }
예제 #6
0
        private void CreateEventsOnCharts(ChartRenderModel model, bool isMultiPaneChart = false)
        {
            Series series2 = new Series("My Series2", ViewType.Bar);

            series2.ArgumentDataMember  = "Datum";
            series2.ArgumentScaleType   = ScaleType.DateTime;
            series2.ValueDataMembers[0] = "Vrednost";

            series2.LabelsVisibility = DevExpress.Utils.DefaultBoolean.False;

            series2.ValueScaleType = ScaleType.Numerical;

            ((SideBySideBarSeriesView)series2.View).BarWidth = 1.4;

            double maxVrednost = Convert.ToDouble(model.chartRenderData.Max(crd => crd.Vrednost));

            if (model.EventList.Count > 0)
            {
                //EventLinkWrap.Style.Add("max-width", ((width / chartsCount) - 50).ToString() + "px");
                model.EventList = model.EventList.OrderBy(el => el.DatumOtvoritve).ToList();//we sor elements from the youngest event to the oldest
                foreach (EventSimpleModel item in model.EventList)
                {
                    SeriesPoint point = new SeriesPoint(item.DatumOtvoritve, new double[] { maxVrednost });
                    point.ToolTipHint = item.DatumOtvoritve.ToString("dd MMMM yyyy") + (String.IsNullOrEmpty(item.Opis) ? "" : "\r\n" + "Opis: " + item.Opis);
                    series2.Points.Add(point);

                    /*string link = RedirectToEvent(item.idDogodek, item.idStranka, item.idKategorija, item.Izvajalec);
                    *  EventLinkWrap.InnerHtml += "<div class='eventLinkWrap'><a class='eventLink' href='" + link + "' title='Pojdi na dogodek st.: "
                    + item.idDogodek.ToString() + "'>" + item.DatumOtvoritve.ToString("dd MMMM yyyy") + "</a></div>";*/
                }

                /*ToolTipRelativePosition relativePosition = new ToolTipRelativePosition();
                 * xrDataChart.ToolTipOptions.ToolTipPosition = relativePosition;
                 *
                 * relativePosition.OffsetX = 2;
                 * relativePosition.OffsetY = 2;*/

                series2.ToolTipEnabled      = DevExpress.Utils.DefaultBoolean.True;
                series2.ToolTipPointPattern = "Datum dogodka: {HINT}";

                series2.CrosshairEnabled = DevExpress.Utils.DefaultBoolean.False;
            }

            xrDataChart.Series.Add(series2);

            int newMinValue = -10;

            if (maxVrednost > 1000)
            {
                newMinValue = -100;
            }
            else if (maxVrednost > 100)
            {
                newMinValue = -10;
            }
            else
            {
                newMinValue = -1;
            }

            DateTimeGridAlignment dateTimeGridAlignment = DateTimeGridAlignment.Month;

            if (CommonMethods.ParseInt(model.chartRenderData[0].Obdobje) == (int)Enums.ChartRenderPeriod.LETNO)
            {
                dateTimeGridAlignment = DateTimeGridAlignment.Year;
            }


            ((XYDiagram)xrDataChart.Diagram).AxisX.Label.ResolveOverlappingOptions.AllowHide = false;
            if (!isMultiPaneChart)
            {
                ((XYDiagram)xrDataChart.Diagram).AxisX.DateTimeScaleOptions.GridAlignment = dateTimeGridAlignment;
            }
            //((XYDiagram)WebChartControl1.Diagram).AxisX.DateTimeScaleOptions.MeasureUnit = DateTimeMeasureUnit.Month;
            ((XYDiagram)xrDataChart.Diagram).AxisX.Label.ResolveOverlappingOptions.AllowRotate = true;
            ((XYDiagram2D)xrDataChart.Diagram).EnableAxisYZooming = true;
            ((XYDiagram2D)xrDataChart.Diagram).GetAllAxesY()[0].WholeRange.MinValue = newMinValue;
        }
예제 #7
0
 /// <summary>
 /// 将X轴格式化成时间轴
 /// </summary>
 /// <param name="chart">ChartControl</param>
 /// <param name="dateTimeMeasureUnit">X轴刻度单位</param>
 /// <param name="dateTimeGridAlignment">X轴刻度间距的单位</param>
 /// <param name="formatString">时间格式;eg:yyyy-MM</param>
 public static void SetAxisXTime(this ChartControl chart, DateTimeMeasureUnit dateTimeMeasureUnit, DateTimeGridAlignment dateTimeGridAlignment, string formatString)
 {
     if (chart.Diagram is XYDiagram)
     {
         XYDiagram _diagram = (XYDiagram)chart.Diagram;
         if (_diagram != null)
         {
             _diagram.AxisX.DateTimeScaleOptions.MeasureUnit   = dateTimeMeasureUnit;   //X轴刻度单位
             _diagram.AxisX.DateTimeScaleOptions.GridAlignment = dateTimeGridAlignment; //X轴刻度间距
             // 这里可能有问题
             _diagram.AxisX.Label.TextPattern = formatString;
         }
     }
 }
예제 #8
0
 /// <summary>
 /// 将X轴格式化成时间轴
 /// </summary>
 /// <param name="chart">ChartControl</param>
 /// <param name="dateTimeMeasureUnit">X轴刻度单位</param>
 /// <param name="dateTimeGridAlignment">X轴刻度间距的单位</param>
 public static void SetAxisXTime(this ChartControl chart, DateTimeMeasureUnit dateTimeMeasureUnit, DateTimeGridAlignment dateTimeGridAlignment)
 {
     if (chart.Diagram is XYDiagram)
     {
         XYDiagram _diagram = (XYDiagram)chart.Diagram;
         if (_diagram != null)
         {
             _diagram.AxisX.DateTimeScaleOptions.MeasureUnit   = dateTimeMeasureUnit;   //X轴刻度单位
             _diagram.AxisX.DateTimeScaleOptions.GridAlignment = dateTimeGridAlignment; //X轴刻度间距
         }
     }
 }