我使用DevExpress xtraChart显示一些数据。在CustomDrawSeries
活动中,我正在检查系列名称并更改SeriesTemplate.Label.PointOptions.ValueNumericOptions.Format
。它部分有效。
我们的想法是根据名称将ValueNumericOptions.Format
从NumericFormat.FixedPoint
更改为NumericFormat.Percent
,反之亦然。问题是更改不会立即显示。为了查看更改,用户必须选择另一个单元格,然后立即显示更改。
如何强制刷新系列并立即查看更改而无需选择其他单元格?
更新 -
在通过代码进行更改后,我检查了Format
并且正确设置了它。无论如何,这证实了这是一个刷新问题。
答案 0 :(得分: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;
答案 1 :(得分:0)
通过它的声音,您正在注册视图控制器的Refresh事件,该事件将在刷新时更改图表的格式,也会在OnViewControlsCreated事件中分配您的代码,以在首次创建视图时初始化您的代码。