Ajax PrimeFaces图表交互模式-在咆哮框中显示额外的bean信息
在Primefaces 4 as中,有两种方法在单击图表中的相应栏时返回(咆哮)项和系列索引 我想在咆哮框中显示一些额外的实体bean信息(如名称、值、性别等)。我能做什么 这是托管bean的(主)代码(参见最后一个方法):Ajax PrimeFaces图表交互模式-在咆哮框中显示额外的bean信息,ajax,jsf,primefaces,Ajax,Jsf,Primefaces,在Primefaces 4 as中,有两种方法在单击图表中的相应栏时返回(咆哮)项和系列索引 我想在咆哮框中显示一些额外的实体bean信息(如名称、值、性别等)。我能做什么 这是托管bean的(主)代码(参见最后一个方法): @ManagedBean @请求范围 公共类ChartBean{ 公共ChartBean(){ } 私有最终映射HorasRealizadasPorFunci=新HashMap(); 私有最终映射HorasOrcadasPorFunci=新HashMap(); 私人卡特尔夏
@ManagedBean
@请求范围
公共类ChartBean{
公共ChartBean(){
}
私有最终映射HorasRealizadasPorFunci=新HashMap();
私有最终映射HorasOrcadasPorFunci=新HashMap();
私人卡特尔夏令营模式卡特尔夏令营模式;
@EJB
私人住宅;
@施工后
私有void初始化(){
//通过上面的链接查看代码
}
私有void createCartesianChartModel(){
//通过上面的链接查看代码
}
私有void addOrUpdateRlz(整数矩阵、字符串funci、数字horas){
//通过上面的链接查看代码
}
私有void addOrUpdateOrc(整数矩阵、字符串funci、数字horas){
//通过上面的链接查看代码
}
私有void populateMap(地图地图、地图数据){
//通过上面的链接查看代码
}
公共CartesianChartModel getCartesianChartModel(){
//通过上面的链接查看代码
}
公共无效设置CartesianChartModel(CartesianChartModel CartesianChartModel){
//通过上面的链接查看代码
}
public void itemSelect(ItemSelectEvent事件){
/*一个简单的例子:
FacesMessage msg=新的FacesMessage(FacesMessage.SEVERITY_信息,“已选择项目”,
项目索引:“+event.getItemIndex()+”,系列索引:“+event.getSerieIndex());
FacesContext.getCurrentInstance().addMessage(null,msg)*/
//在这里实现获取bean信息的代码
}
}
这是呈现图表的部分JSF:
<p:barChart id="barStacked" value="#{chartBean.cartesianChartModel}">
<p:ajax event="itemSelect" listener="#{chartBean.itemSelect}" update="msg" />
</p:barChart>
<p:growl id="msg" />
有关代码的更多详细信息,请访问。能否尝试从ItemSelectEvent对象获取CartesianChartModel组件
Integer seriesIndex = event.getSeriesIndex();
CartesianChartModel cModel = (CartesianChartModel((org.primefaces.component.chart.Chart)event.getSource()).getModel();
然后你可以这样做:
List Map<String, Number> cData= cModel.getData().get(seriesIndex);
listmapcdata=cModel.getData().get(seriesIndex);
从那里可以使用event.getItemIndex()找到ChartSeries对象。javadoc for ChartSeries为您要查找的所有属性提供了一些getter
MBededSoft
List Map<String, Number> cData= cModel.getData().get(seriesIndex);