I'm displaying a relatively simple chart plotting time of the xaxis and counts on the yaxis. the chart displays fine, but I simply cannot get the xaxis labels to display as time values! I've tried all the suggestions I could find in the forums with no luck.
Here is my aspx file:
And here is my codebehind:
The values are all correct, but the xaxis labels display as 41047, 41047.0416, ... 41047.9999 (the last digits of the labels are truncated)
Here is my aspx file:
<%@ Page Title="Tickets Received by Time of Day" Language="VB" AutoEventWireup="false" CodeFile="TixByTime.aspx.vb" Inherits="Statistics_Misc_TixByTime" MasterPageFile="~/MasterPage.master" %><%@ MasterType VirtualPath="~/MasterPage.master" %><%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Charting" TagPrefix="telerik" %><asp:Content ID="cpHeadContent" ContentPlaceHolderID="mpHeadContent" runat="server"></asp:Content><asp:Content ID="cpSideMenuContent" ContentPlaceHolderID="mpSideMenuContent" runat="server"></asp:Content><asp:Content ID="cpMainContent" ContentPlaceHolderID="mpMainContent" runat="server"> <telerik:RadChart ID="rcChart2" runat="server" Height="500px" Width="900px" Skin="WebBlue"> </telerik:RadChart></asp:Content>And here is my codebehind:
Imports WorkforceImports System.DataImports Telerik.ChartingImports System.Data.SqlClientPartial Class Statistics_Misc_TixByTIme Inherits System.Web.UI.Page Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load SetupChart() LoadData() End Sub Private Sub SetupChart() Dim dStart As Double = DateTime.Today.ToOADate() Dim dEnd As Double = DateTime.Today.AddDays(1).ToOADate() Dim dHourStep As Double = (1 / 24) With rcChart2 .ChartTitle.TextBlock.Text = "Tickets Received by Time of Day" .SeriesOrientation = ChartSeriesOrientation.Vertical With .PlotArea.XAxis .AutoScale = False .IsZeroBased = False .LayoutMode = Styles.ChartAxisLayoutMode.Inside .AddRange(dStart, dEnd, dHourStep) .Appearance.MajorGridLines.Visible = False .Appearance.ValueFormat = Styles.ChartValueFormat.ShortTime .Appearance.CustomFormat = "hh:mm tt" .Appearance.LabelAppearance.RotationAngle = 90 .Appearance.LabelAppearance.Position.AlignedPosition = Styles.AlignedPositions.Top End With With .PlotArea.YAxis .Step = 1 End With Dim oSeries As New ChartSeries() With oSeries .Name = "TicketCounts2" .Type = ChartSeriesType.Area .Appearance.ShowLabels = False End With .Series.Add(oSeries) End With End Sub Private Sub LoadData() Dim oSeries As ChartSeries = rcChart2.Series(0) Dim oConn As SqlConnection = Nothing Dim oReader As SqlDataReader = Nothing Dim oCmd As SqlCommand = New SqlCommand() Dim sSQL As String Try Dim sConn As String = Profile.Company.ConnectionString oConn = New SqlConnection(sConn) oConn.Open() sSQL = <sql> SELECT Substring(Convert(nchar(8),recvdatetime,8), 1, 5) AS daTime ,Count(*) AS daCount FROM cwtg..tix4tbl group by substring(convert(nchar(8),recvdatetime,8), 1, 5) order by daTime </sql>.Value oCmd.CommandText = sSQL oCmd.Connection = oConn oReader = oCmd.ExecuteReader() Do While oReader.Read Dim dTime As Double = DateTime.Parse(oReader.GetString(oReader.GetOrdinal("daTime"))).ToOADate() Dim dCount As Double = oReader.GetInt32(oReader.GetOrdinal("daCount")) Dim oItem As New ChartSeriesItem() oItem.XValue = dTime oItem.YValue = dCount oSeries.Items.Add(oItem) Loop Finally If oReader IsNot Nothing Then oReader.Close() oConn.Close() oConn.Dispose() End Try End SubEnd ClassThe values are all correct, but the xaxis labels display as 41047, 41047.0416, ... 41047.9999 (the last digits of the labels are truncated)
