2012-09-12 165 views
1

我正在使用.Net圖表。我想在X軸上顯示日期。例如:如果我選擇最近52周,那麼我應該顯示過去52周的圖表,而那些52周的開始日期應該在x軸上。我沒有任何想法,該怎麼辦this..I曾與代碼試圖..X軸日期 - .Net圖表

 DateTime Frm = sessionManager.ChartViewPeriodFrom; 
     DateTime To = sessionManager.ChartViewPeriodTo; 

     double min = Frm.ToOADate(); 
     double max = To.ToOADate(); 

     Chart1.ChartAreas["ChartArea1"].AxisX.Minimum = min; 
     Chart1.ChartAreas["ChartArea1"].AxisX.Maximum = max; 
     Chart1.ChartAreas["ChartArea1"].AxisX.Interval = 7; 

這裏我得到了FRM爲「2011/9/17 12:00:00 AM」不過,在圖表中,最小日期從「9/21/2011 12:00:00 AM」開始。如何解決這個問題?

我曾試圖這樣也.. [編輯部分]

 Chart1.Series["Series1"].XValueType = ChartValueType.Date; 
     Chart1.ChartAreas["ChartArea1"].AxisX.Minimum = (new DateTime(2011, 09, 17, 12, 00, 00)).ToOADate(); 
     Chart1.ChartAreas["ChartArea1"].AxisX.Maximum = (new DateTime(2012, 09, 08, 12, 00, 00)).ToOADate(); 
     Chart1.ChartAreas["ChartArea1"].AxisX.Interval = 7; 
     Chart1.ChartAreas["ChartArea1"].AxisX.IsMarginVisible = false; 
+0

仍然我找到任何解決方案.. – RobinHood

+0

再次我無法重現您的問題,因爲您的代碼在我的設置上產生預期的結果。 – zeFrenchy

+0

任何其他解決方案..仍然是我得到同樣的問題... – RobinHood

回答

2

經過長時間的搜尋後...我有固定的我上面的問題......但我仍然不知道它是如何工作的...

 Chart1.ChartAreas["ChartArea1"].AxisX.IntervalAutoMode = IntervalAutoMode.VariableCount; 
     Chart1.Series["Series1"].XValueType = ChartValueType.Date; 
     DayOfWeek ds = DayOfWeek.Wednesday; 
     double dblIntervalOffset = Convert.ToDouble(ds); 
     Chart1.ChartAreas["ChartArea1"].AxisX.IntervalOffset = dblIntervalOffset; 
     Chart1.ChartAreas["ChartArea1"].AxisX.Minimum = min; 
     Chart1.ChartAreas["ChartArea1"].AxisX.Maximum = max; 
     Chart1.ChartAreas["ChartArea1"].AxisX.Interval = 7; 
     Chart1.ChartAreas["ChartArea1"].AxisX.IsMarginVisible = false; 
0

Indexed屬性必須設置爲系列數據。