Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/jsf/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ajax PrimeFaces图表交互模式-在咆哮框中显示额外的bean信息_Ajax_Jsf_Primefaces - Fatal编程技术网

Ajax PrimeFaces图表交互模式-在咆哮框中显示额外的bean信息

Ajax PrimeFaces图表交互模式-在咆哮框中显示额外的bean信息,ajax,jsf,primefaces,Ajax,Jsf,Primefaces,在Primefaces 4 as中,有两种方法在单击图表中的相应栏时返回(咆哮)项和系列索引 我想在咆哮框中显示一些额外的实体bean信息(如名称、值、性别等)。我能做什么 这是托管bean的(主)代码(参见最后一个方法): @ManagedBean @请求范围 公共类ChartBean{ 公共ChartBean(){ } 私有最终映射HorasRealizadasPorFunci=新HashMap(); 私有最终映射HorasOrcadasPorFunci=新HashMap(); 私人卡特尔夏

在Primefaces 4 as中,有两种方法在单击图表中的相应栏时返回(咆哮)系列索引

我想在咆哮框中显示一些额外的实体bean信息(如名称、值、性别等)。我能做什么

这是托管bean的(主)代码(参见最后一个方法):

@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);