質問

したがって、カスタムビジネスオブジェクトのリストをRADチャートにバインドしています。この場合、1年間の毎月の収益の概要です。 X軸ラベルに設定している日付は、私がそれらを設定したものとしてレンダリングされていません。

これが私の基本コードです、あなたはそれがのリストを取得することを見ることができます 月間産業 特定の年のオブジェクト。 月間産業 オブジェクトには異なるプロパティがありますが、このシナリオの主なプロパティは Monthledger.full_dateMonthledger.Revenue_Amount.

List<monthLedger> year = getYearRevenueByMonth(2011);

DataSeries ser = new DataSeries();

foreach(monthLedger month in year)
{
    ser.Add(new DataPoint 
            { 
                YValue = Convert.ToDouble(month.Revenue_Amount), 
                Label = month.Revenue_Amount.ToString("0.00###"), 
                XValue = month.Full_Date.ToOADate()
            });
}


radChart1.DefaultView.ChartArea.AxisX.IsDateTime = true;
radChart1.DefaultView.ChartArea.AxisX.AutoRange = true;
radChart1.DefaultView.ChartArea.AxisX.DefaultLabelFormat = "dd-MMM";
radChart1.DefaultView.ChartArea.DataSeries.Add(ser);

これは、2011年のリストに掲載されるデータです(Full_date || Revenue_Amount):

  • {01/01/2011 12:00:00 AM} || 0.00
  • {01/02/2011 12:00:00 AM} || 0.00
  • {01/03/2011 12:00:00 AM} || 0.00
  • {01/04/2011 12:00:00 AM} || 0.00
  • {01/05/2011 12:00:00 AM} || 0.00
  • {01/06/2011 12:00:00 AM} || 0.00
  • {01/07/2011 12:00:00 AM} || 0.00
  • {01/08/2011 12:00:00 AM} || 0.00
  • {01/09/2011 12:00:00 AM} || 0.00
  • {01/10/2011 12:00:00 AM} || 0.00
  • {01/11/2011 12:00:00 AM} || 246.50
  • {01/12/2011 12:00:00 AM} || 311.60

私が得ると予想されるのは、12か月の素晴らしいチャートですが、13列がグラフ化され、ラベル付けされた日付はOLEオートメーションの日付に変換したものとまったく同じではありません。

グラフィック結果のスクリーンショットを添付しました。enter image description here

私は何が間違っているのですか?

役に立ちましたか?

解決

あなたの画像からわかるように、チャートは30日間のステップでバーをプロットします。これは、Xaxisの自動範囲によって引き起こされます。チャートは1か月の時間厳守ステップを定義できないため(月の日数は異なります)、Xaxisは30日が最も適切であると自動的に定義しました。手動範囲を設定することは役に立たないので、XValueの代わりにXcategoryを使用することをお勧めします。

foreach(monthLedger month in year) 
   { 
    ser.Add(new DataPoint  
            {  
                YValue = Convert.ToDouble(month.Revenue_Amount),  
                Label = month.Revenue_Amount.ToString("0.00###"),  
                XCategory = month.Full_Date
            }); 
   } 

これを削除できます-radChart1.defaultView.chartarea.axisx.isdateTime = true;もう必要ないので。

乾杯、エフゲニア

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top