NDateTimeScaleConfigurator AutoScale: current format


Author
Message
Alina Voskova
Alina Voskova
Forum Member (43 reputation)Forum Member (43 reputation)Forum Member (43 reputation)Forum Member (43 reputation)Forum Member (43 reputation)Forum Member (43 reputation)Forum Member (43 reputation)Forum Member (43 reputation)Forum Member (43 reputation)
Group: Forum Members
Posts: 43, Visits: 1
The value is correct double value. Without autoformat I get the correct string - the value is formatted like value on axis. But with autoformat I get the string with default format (which I set for LabelValueFormatter), not with current.
Nevron Support
Nevron Support
Supreme Being (4.5K reputation)Supreme Being (4.5K reputation)Supreme Being (4.5K reputation)Supreme Being (4.5K reputation)Supreme Being (4.5K reputation)Supreme Being (4.5K reputation)Supreme Being (4.5K reputation)Supreme Being (4.5K reputation)Supreme Being (4.5K reputation)
Group: Administrators
Posts: 3.1K, Visits: 4.2K

Hi Ereona,

The standard formatters rely that the value is of type double - they do not try to convert for performance reasons and may fail if used in such context. What is the value you pass there? 



Best Regards,
Nevron Support Team


Alina Voskova
Alina Voskova
Forum Member (43 reputation)Forum Member (43 reputation)Forum Member (43 reputation)Forum Member (43 reputation)Forum Member (43 reputation)Forum Member (43 reputation)Forum Member (43 reputation)Forum Member (43 reputation)Forum Member (43 reputation)
Group: Forum Members
Posts: 43, Visits: 1
I need to format one additional value (not on the axis) like the values are formatted on axis. If I set the format manually, I can do it:
label.Text = ((NStandardScaleConfigurator)xAxis.ScaleConfigurator).LabelValueFormatter.FormatValue(value);
But with autoformat it's impossible, isn't so?
Nevron Support
Nevron Support
Supreme Being (4.5K reputation)Supreme Being (4.5K reputation)Supreme Being (4.5K reputation)Supreme Being (4.5K reputation)Supreme Being (4.5K reputation)Supreme Being (4.5K reputation)Supreme Being (4.5K reputation)Supreme Being (4.5K reputation)Supreme Being (4.5K reputation)
Group: Administrators
Posts: 3.1K, Visits: 4.2K

Hi Ereona,

You cannot get the date time unit selected by the scale, however you can change the value format that corresponds to a unit - for example:

someDateTimeScale.DateTimeUnitFormatterPairs.DayFormatter = new NDateTimeValueFormatter(DateTimeValueFormat.DateHour);

changes the default day formatting to day + hour. The other units have similar properties, SecondFormatter, MinuteFormatter etc.



Best Regards,
Nevron Support Team


Alina Voskova
Alina Voskova
Forum Member (43 reputation)Forum Member (43 reputation)Forum Member (43 reputation)Forum Member (43 reputation)Forum Member (43 reputation)Forum Member (43 reputation)Forum Member (43 reputation)Forum Member (43 reputation)Forum Member (43 reputation)
Group: Forum Members
Posts: 43, Visits: 1
Hello.
I use autoscale for OX axis like this:
List dateTimeUnits = new List();

dateTimeUnits.Add(NDateTimeUnit.Second);
dateTimeUnits.Add(NDateTimeUnit.Minute);
dateTimeUnits.Add(NDateTimeUnit.Hour);
dateTimeUnits.Add(NDateTimeUnit.Day);
dateTimeUnits.Add(NDateTimeUnit.Month);
dateTimeUnits.Add(NDateTimeUnit.Year);

var autoUnits = dateTimeUnits.ToArray();

dateConfigurator.MajorTickMode = MajorTickMode.AutoMaxCount;

dateConfigurator.InflateViewRangeBegin = false;
dateConfigurator.InflateViewRangeEnd = true;

dateConfigurator.EnableUnitSensitiveFormatting = true;
dateConfigurator.AutoDateTimeUnits = autoUnits;
dateConfigurator.LabelValueFormatter = new NDateTimeValueFormatter("dd.MM HH:mm:ss");
The value format depends on graph's scale. How I can determine the current Date-time unit and value format in axes's properties?
GO

Merge Selected

Merge into selected topic...



Merge into merge target...



Merge into a specific topic ID...




Similar Topics

Reading This Topic

Login

Explore
Messages
Mentions
Search