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; }
public void DinhDangX(DateTimeGridAlignment x, DateTimeMeasureUnit y) { }
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; }
/// <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; } } }
/// <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轴刻度间距 } } }