2

我正在使用 DevExpress xtraChart 来显示一些数据。在CustomDrawSeries事件中,我正在检查系列名称并更改SeriesTemplate.Label.PointOptions.ValueNumericOptions.Format. 它工作......部分。

这个想法是根据名称ValueNumericOptions.FormatNumericFormat.FixedPointto更改,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 回答