0

LegendText を otherFields のパラメーターとして渡す DataBindCrossTable() を使用して、縦棒グラフの凡例テキストを変更しようとしています。

たとえば、私のデータは次のとおりです。

MyData { RunTime : DateTime 場所 : 文字列 プロジェクト : int }

それから私は電話しています

chart.DataBindCrossTable(data, "RunTime", "Location", "Projects", "LegendText=RunTime{MM/dd/yyyy}");

結果のチャートは問題ありませんが、次のような凡例を示しています。

ランタイム - 2013-01-01 12:00 AM

凡例を表示したい:

2013-01-01

LegendText を設定しても何も起こらないようです。

助けてくれてありがとう。

4

2 に答える 2

1

これに対する解決策を見つけました。DataBindCrossTable を使用する場合、otherFields パラメーターは Series オブジェクトに適用されません。これを設定すると、結果が Series の各 DataPoint に適用されます。

chart.DataBindCrossTable(data, "RunTime", "Location", "Projects", "LegendText=RunTime{MM/dd/yyyy}");

上記のメソッドを呼び出すと、シリーズ内のポイントの LegendText プロパティが正しく設定されます。私が行ったことは、次のように、最初のポイントの LegendText でシリーズ名を設定することでした:

foreach (Series s in chart.Series)
        {
            s.ChartType = SeriesChartType.Column;
            s.Name = s.Points.First().LegendText;
            chart.Legends.Add(GetLegend(s.Name));
        }

その後、うまくいきました。

于 2013-10-31T16:15:05.963 に答える