private void UpdateHighlightRange() { NScaleStripStyle stripStyle; DateTime origin; // create a strip line highlighting the working days if (HighLightRangeDropDownList.SelectedIndex == 0) { origin = new DateTime(2007, 2, 19); stripStyle = new NScaleStripStyle(new NColorFillStyle(Color.SkyBlue), null, true, 0, 0, 2, 5); } else { origin = new DateTime(2007, 2, 17); stripStyle = new NScaleStripStyle(new NColorFillStyle(Color.LightSeaGreen), null, true, 0, 0, 5, 2); } stripStyle.SetShowAtWall(ChartWallType.Back, true); NStandardScaleConfigurator scaleConfigurator = (NStandardScaleConfigurator)m_Chart.Axis(StandardAxis.PrimaryX).ScaleConfigurator; scaleConfigurator.StripStyles.Clear(); scaleConfigurator.StripStyles.Add(stripStyle); NDateTimeRangeSamplerProvider provider = new NDateTimeRangeSamplerProvider(); provider.SamplingMode = SamplingMode.CustomStep; provider.UseOrigin = true; provider.Origin = origin; provider.CustomStep = new NDateTimeSpan(1, NDateTimeUnit.Day); stripStyle.RangeSamplerProvider = provider; }
private void HighLightRangeComboBox_SelectedIndexChanged(object sender, System.EventArgs e) { NScaleStripStyle stripStyle; DateTime origin; // create a strip line highlighting the working days if (HighLightRangeComboBox.SelectedIndex == 0) { origin = new DateTime(2007, 2, 19); stripStyle = new NScaleStripStyle(new NColorFillStyle(Color.Beige), null, true, 0, 0, 2, 5); } else { origin = new DateTime(2007, 2, 17); stripStyle = new NScaleStripStyle(new NColorFillStyle(Color.Beige), null, true, 0, 0, 5, 2); } stripStyle.SetShowAtWall(ChartWallType.Back, true); NStandardScaleConfigurator scaleConfigurator = (NStandardScaleConfigurator)m_Chart.Axis(StandardAxis.PrimaryX).ScaleConfigurator; scaleConfigurator.StripStyles.Clear(); scaleConfigurator.StripStyles.Add(stripStyle); NDateTimeRangeSamplerProvider provider = new NDateTimeRangeSamplerProvider(); provider.SamplingMode = SamplingMode.CustomStep; provider.UseOrigin = true; provider.Origin = origin; provider.CustomStep = new NDateTimeSpan(1, NDateTimeUnit.Day); stripStyle.RangeSamplerProvider = provider; nChartControl1.Refresh(); }
protected void Page_Load(object sender, System.EventArgs e) { if (!Page.IsPostBack) { HighLightRangeDropDownList.Items.Add("Weekdays"); HighLightRangeDropDownList.Items.Add("Weekends"); HighLightRangeDropDownList.SelectedIndex = 0; } nChartControl1.BackgroundStyle.FrameStyle.Visible = false; // set a chart title NLabel header = nChartControl1.Labels.AddHeader("Strip Lines"); header.TextStyle.TextFormat = TextFormat.XML; header.TextStyle.FontStyle = new NFontStyle("Times New Roman", 14, FontStyle.Italic); header.TextStyle.ShadowStyle.Type = ShadowType.LinearBlur; header.ContentAlignment = ContentAlignment.BottomRight; header.Location = new NPointL( new NLength(2, NRelativeUnit.ParentPercentage), new NLength(2, NRelativeUnit.ParentPercentage)); // configure chart m_Chart = nChartControl1.Charts[0]; m_Chart.BoundsMode = BoundsMode.Stretch; m_Chart.Location = new NPointL( new NLength(2, NRelativeUnit.ParentPercentage), new NLength(13, NRelativeUnit.ParentPercentage)); m_Chart.Size = new NSizeL( new NLength(94, NRelativeUnit.ParentPercentage), new NLength(85, NRelativeUnit.ParentPercentage)); // Add a line series NLineSeries line = (NLineSeries)m_Chart.Series.Add(SeriesType.Line); line.UseXValues = true; line.BorderStyle.Color = Color.DarkRed; line.DataLabelStyle.Visible = false; line.InflateMargins = true; line.MarkerStyle.Visible = true; line.MarkerStyle.BorderStyle.Color = Color.DarkRed; line.MarkerStyle.FillStyle = new NColorFillStyle(Color.Red); line.MarkerStyle.PointShape = PointShape.Cylinder; line.MarkerStyle.Width = new NLength(2, NRelativeUnit.ParentPercentage); line.MarkerStyle.Height = new NLength(2, NRelativeUnit.ParentPercentage); line.Legend.Mode = SeriesLegendMode.None; // create a date time scale NDateTimeScaleConfigurator dateTimeScale = new NDateTimeScaleConfigurator(); dateTimeScale.LabelStyle.Angle = new NScaleLabelAngle(ScaleLabelAngleMode.View, 90); dateTimeScale.LabelStyle.ContentAlignment = ContentAlignment.MiddleLeft; dateTimeScale.EnableUnitSensitiveFormatting = false; dateTimeScale.MajorTickMode = MajorTickMode.CustomStep; dateTimeScale.CustomStep = new NDateTimeSpan(1, NDateTimeUnit.Day); dateTimeScale.LabelValueFormatter = new NDateTimeValueFormatter(DateTimeValueFormat.WeekDayShortName); m_Chart.Axis(StandardAxis.PrimaryX).ScaleConfigurator = dateTimeScale; // create a strip line highlighting the working days NScaleStripStyle stripStyle = new NScaleStripStyle(new NColorFillStyle(Color.FromArgb(125, Color.Orange)), null, true, 0, 0, 2, 5); stripStyle.SetShowAtWall(ChartWallType.Back, true); NDateTimeRangeSamplerProvider provider = new NDateTimeRangeSamplerProvider(); provider.SamplingMode = SamplingMode.CustomStep; provider.UseOrigin = true; provider.Origin = new DateTime(2007, 2, 19); provider.CustomStep = new NDateTimeSpan(1, NDateTimeUnit.Day); stripStyle.RangeSamplerProvider = provider; // configure the x axis to use date time paging NDateTimeAxisPagingView dateTimePagingView = new NDateTimeAxisPagingView(DateTime.Now, new NDateTimeSpan(10, NDateTimeUnit.Day)); dateTimePagingView.Enabled = true; m_Chart.Axis(StandardAxis.PrimaryX).PagingView = dateTimePagingView; GenerateData(null, null); if (!Page.IsPostBack) { HighLightRangeDropDownList.SelectedIndex = 0; } UpdateHighlightRange(); }
public override void Initialize() { base.Initialize(); // set a chart title NLabel title = nChartControl1.Labels.AddHeader("Strip Lines"); title.TextStyle.TextFormat = TextFormat.XML; title.TextStyle.FontStyle = new NFontStyle("Times New Roman", 18, FontStyle.Italic); title.ContentAlignment = ContentAlignment.BottomCenter; title.Location = new NPointL(new NLength(50, NRelativeUnit.ParentPercentage), new NLength(2, NRelativeUnit.ParentPercentage)); // no legend nChartControl1.Legends.Clear(); // configure the chart m_Chart = nChartControl1.Charts[0]; m_Chart.BoundsMode = BoundsMode.Stretch; // Add a line series NLineSeries line = (NLineSeries)m_Chart.Series.Add(SeriesType.Line); line.UseXValues = true; line.BorderStyle.Color = Color.DarkRed; line.DataLabelStyle.Visible = false; line.InflateMargins = true; line.MarkerStyle.Visible = true; line.MarkerStyle.PointShape = PointShape.Cylinder; line.MarkerStyle.Width = new NLength(2, NRelativeUnit.ParentPercentage); line.MarkerStyle.Height = new NLength(2, NRelativeUnit.ParentPercentage); // create a date time scale NDateTimeScaleConfigurator dateTimeScale = new NDateTimeScaleConfigurator(); dateTimeScale.LabelStyle.Angle = new NScaleLabelAngle(ScaleLabelAngleMode.Scale, 90); dateTimeScale.LabelStyle.ContentAlignment = ContentAlignment.MiddleLeft; dateTimeScale.EnableUnitSensitiveFormatting = false; dateTimeScale.MajorTickMode = MajorTickMode.CustomStep; dateTimeScale.CustomStep = new NDateTimeSpan(1, NDateTimeUnit.Day); dateTimeScale.LabelValueFormatter = new NDateTimeValueFormatter(DateTimeValueFormat.WeekDayShortName); m_Chart.Axis(StandardAxis.PrimaryX).ScaleConfigurator = dateTimeScale; // create a strip line highlighting the working days NScaleStripStyle stripStyle = new NScaleStripStyle(new NColorFillStyle(Color.Beige), null, true, 0, 0, 2, 5); stripStyle.SetShowAtWall(ChartWallType.Back, true); NDateTimeRangeSamplerProvider provider = new NDateTimeRangeSamplerProvider(); provider.SamplingMode = SamplingMode.CustomStep; provider.UseOrigin = true; provider.Origin = new DateTime(2007, 2, 19); provider.CustomStep = new NDateTimeSpan(1, NDateTimeUnit.Day); stripStyle.RangeSamplerProvider = provider; // configure the x axis to use date time paging NDateTimeAxisPagingView dateTimePagingView = new NDateTimeAxisPagingView(DateTime.Now, new NDateTimeSpan(10, NDateTimeUnit.Day)); dateTimePagingView.Enabled = true; m_Chart.Axis(StandardAxis.PrimaryX).PagingView = dateTimePagingView; m_Chart.Axis(StandardAxis.PrimaryX).ScrollBar.Visible = true; m_Chart.Axis(StandardAxis.PrimaryX).ScrollBar.ResetButton.Visible = false; nChartControl1.Controller.Tools.Add(new NAxisScrollTool()); // apply style sheet NStyleSheet styleSheet = NStyleSheet.CreatePredefinedStyleSheet(PredefinedStyleSheet.Fresh); styleSheet.Apply(nChartControl1.Document); HighLightRangeComboBox.Items.Add("Weekdays"); HighLightRangeComboBox.Items.Add("Weekends"); HighLightRangeComboBox.SelectedIndex = 0; GenerateData(null, null); }