我使用双轴堆叠条形图(ADF组件),使用包含x轴标签的对象列表以及要在图表中显示/堆叠的值。
我对ADF& amp; EJB所以我想提前道歉,如果这个问题似乎对你们任何人都不成熟。
我应该提到我正在使用JDeveloper 11.1.1.5
我很难从变量中检索值,并将其分配给我试图在我的JSF页面上显示的条形图的属性。
我简要总结了以下逻辑以供参考。
从以下类数据控件中检索数据/列表:
public class ActivityChart {
private Double axisScale;
public ActivityChart() {
super();
axisScale = 0.0;
}
public List<ActivityDTO> getActivityDetail(List<String> businessUnits) {
List<ActivityDTO> returnNewList = new ArrayList<ActivityDTO>();
List<TransactionDTO> dataList = new ArrayList<TransactionDTO>();
TransactionSessionBean transBean = lookupTransactionSessionBean();
if (businessUnits != null && !businessUnits.isEmpty()){
dataList = transBean.getActivityData(SystemUtil.getCurrentUser(), businessUnits);
returnNewList = processTransactions(dataList);
axisScale = calcAxisScale(returnNewList);
}
return returnNewList;
}
...
TransactionDTO对象基本上是实体对象的镜像,用于存储查询的数据库事务中的字段。 ActivityDTO对象包含一个String值(x轴标签)和3个Double值,用于条形图所需的值。
我要做的是动态设置2个y轴的比例(我使用的是双轴堆叠条形图)因为自动计算的值没有对齐。
现在我已经使用特定的轴值硬编码了条形图的两个相关元素:
<dvt:y1Axis axisMaxAutoScaled="false" axisMaxValue="100.0"/>
<dvt:y2Axis axisMaxAutoScaled="false" axisMaxValue="100.0"/>
计算我想用于Y轴的值并将其存储在上述类中的“axisScale”变量中。
真的不知道如何从这里前进。
非常感谢任何指导/指导。
谢谢, 卡里姆
答案 0 :(得分:0)
为axisScale&amp;添加一个吸气剂重新生成数据控件。为您的页面添加axisScale的绑定&amp;然后将其用作最大值。
pageDef:
<attributeValues IterBinding="ActivityChartIterator" id="axisScale">
<AttrNames>
<Item Value="axisScale"/>
</AttrNames>
</attributeValues>
页面:
<dvt:y1Axis axisMaxValue="#{bindings.axisScale.attributeValue}" axisMaxAutoScaled="false"/>
<dvt:y2Axis axisMaxValue="#{bindings.axisScale.attributeValue}" axisMaxAutoScaled="false"/>