2

DevExpress xtraChart を使用してデータを表示しています。イベントではCustomDrawSeriesシリーズ名を確認して変更してSeriesTemplate.Label.PointOptions.ValueNumericOptions.Formatいます。それは機能します...部分的に。

アイデアは、名前に基づいてValueNumericOptions.FormatからNumericFormat.FixedPointへ、またはその逆に変更することです。NumericFormat.Percent問題は、変更がすぐに表示されないことです。変更を確認するには、ユーザーが別のセルを選択する必要があります。その後、変更がすぐに表示されます。

シリーズを強制的に更新し、別のセルを選択せず​​にすぐに変更を確認するにはどうすればよいですか?

更新 - コードを使用して変更を行った後、検査Formatしたところ、正しく設定されています。とにかく、これはリフレッシュの問題であることを確認しています。

4

2 に答える 2

1

問題の本当の原因はわかりませんが、あなたのアプローチは最適ではないようです。目標は特定のシリーズの設定を変更することだけですが、グローバル設定 (テンプレート) を変更します。

達成したいことは、イベントを処理することなく、ChartControl の初期化中に実行できます。次のコードを使用して、特定のシリーズにパーセント形式を適用できます。

DevExpress.XtraChartsPointOptions pointOptions = new DevExpress.XtraChartsPointOptions();
pointOptions.ValueNumericOptions.Format = DevExpress.XtraCharts.NumericFormat.Percent;
DevExpress.XtraCharts.SideBySideBarSeriesLabel label = new DeveExpress.XtraCharts.SideBySideBarSeriesLabel();
label.PointOptions = pointOptions;
DevExpressXtraChartsSeries series = xtraChart1.Series["Series Name"];
series.Label = label;
series.LabelsVisibility = DevExpress.Utils.DefaultBoolean.True;
于 2014-04-29T06:48:56.483 に答える
0

その音によって、Refresh更新時にチャートの形式を変更するビューコントローラーのイベントに登録し、イベントにもコードを割り当てて、OnViewControlsCreated最初にビューを作成するときにコードを初期化します。

于 2014-04-30T15:08:28.730 に答える