在运行时设置 <chart:guide> 值
Set <chart:guide> value at runtime
我正在尝试访问
<chart:guide>
来自屏幕控制器的 值 属性,但我找不到任何 getter 来达到它。 xml块是这样的:
<chart:valueAxes>
<chart:axis position="LEFT"
stackType="REGULAR"
title="Graph Title">
<chart:guides>
<chart:guide
value="0"
inside="true"
lineAlpha="1"
/>
</chart:guides>
</chart:axis>
</chart:valueAxes>
我需要在运行时设置指南的值。有什么建议吗?
假设我们有以下 SerialChart:
<chart:serialChart id="serialChart"
caption="Serial chart"
height="100%"
width="100%"
categoryField="x">
<chart:graphs>
<chart:graph valueField="y"/>
</chart:graphs>
<chart:valueAxes>
<chart:axis position="LEFT">
<chart:guides>
<chart:guide value="12"
inside="true"
lineAlpha="1"/>
</chart:guides>
</chart:axis>
</chart:valueAxes>
<chart:data>
<chart:item>
<chart:property name="x" value="10"/>
<chart:property name="y" value="12"/>
</chart:item>
<chart:item>
<chart:property name="x" value="11"/>
<chart:property name="y" value="2"/>
</chart:item>
<chart:item>
<chart:property name="x" value="12"/>
<chart:property name="y" value="120"/>
</chart:item>
<chart:item>
<chart:property name="x" value="13"/>
<chart:property name="y" value="16"/>
</chart:item>
</chart:data>
</chart:serialChart>
您可以简单地获取 ValueAxis 然后通过索引获取 Guide 对象或迭代集合并通过 id(Guide 的可选属性)查找:
@Inject
private SerialChart serialChart;
ValueAxis valueAxis = serialChart.getValueAxes().get(0);
Guide guide = valueAxis.getGuides().get(0);
guide.setValue(15);
serialChart.repaint();
注意,如果我们想更改已经显示的图表配置,那么我们必须调用 repaint() 方法。
如果您使用 CUBA 6.4 或更早版本,您必须首先使用 getConfiguration() 方法获取 Configuration 对象并将其转换为适当的图表类型,如下所示:https://doc.cuba-platform.com/charts-6.4/cdp_screen_controller.html
我正在尝试访问
<chart:guide>
来自屏幕控制器的 值 属性,但我找不到任何 getter 来达到它。 xml块是这样的:
<chart:valueAxes>
<chart:axis position="LEFT"
stackType="REGULAR"
title="Graph Title">
<chart:guides>
<chart:guide
value="0"
inside="true"
lineAlpha="1"
/>
</chart:guides>
</chart:axis>
</chart:valueAxes>
我需要在运行时设置指南的值。有什么建议吗?
假设我们有以下 SerialChart:
<chart:serialChart id="serialChart"
caption="Serial chart"
height="100%"
width="100%"
categoryField="x">
<chart:graphs>
<chart:graph valueField="y"/>
</chart:graphs>
<chart:valueAxes>
<chart:axis position="LEFT">
<chart:guides>
<chart:guide value="12"
inside="true"
lineAlpha="1"/>
</chart:guides>
</chart:axis>
</chart:valueAxes>
<chart:data>
<chart:item>
<chart:property name="x" value="10"/>
<chart:property name="y" value="12"/>
</chart:item>
<chart:item>
<chart:property name="x" value="11"/>
<chart:property name="y" value="2"/>
</chart:item>
<chart:item>
<chart:property name="x" value="12"/>
<chart:property name="y" value="120"/>
</chart:item>
<chart:item>
<chart:property name="x" value="13"/>
<chart:property name="y" value="16"/>
</chart:item>
</chart:data>
</chart:serialChart>
您可以简单地获取 ValueAxis 然后通过索引获取 Guide 对象或迭代集合并通过 id(Guide 的可选属性)查找:
@Inject
private SerialChart serialChart;
ValueAxis valueAxis = serialChart.getValueAxes().get(0);
Guide guide = valueAxis.getGuides().get(0);
guide.setValue(15);
serialChart.repaint();
注意,如果我们想更改已经显示的图表配置,那么我们必须调用 repaint() 方法。
如果您使用 CUBA 6.4 或更早版本,您必须首先使用 getConfiguration() 方法获取 Configuration 对象并将其转换为适当的图表类型,如下所示:https://doc.cuba-platform.com/charts-6.4/cdp_screen_controller.html