[英]Primefaces DialogFramework Growl and showMessageInDialog not working
[英]PrimeFaces Chart Interactive Mode - Displaying Extra bean Info In Growl Box
在Primefaces 4(如http://www.primefaces.org/showcase/ui/interactiveCharts.jsf)中 ,当我们单击图表中的相应条形时,有2种方法返回(检索) Item和Serie索引。
我想在咆哮框中显示一些额外的实体bean信息(例如名称,值,性别等)。 我能做到吗?
这是托管bean的(主要)代码(请参见最后一个方法):
@ManagedBean
@RequestScoped
public class ChartBean {
public ChartBean() {
}
private final Map<Integer, Map<String, Number>> HorasRealizadasPorFunci = new HashMap<>();
private final Map<Integer, Map<String, Number>> HorasOrcadasPorFunci = new HashMap<>();
private CartesianChartModel cartesianChartModel;
@EJB
private OrcFacade of;
@PostConstruct
private void initialize() {
//see code through link above
}
private void createCartesianChartModel() {
//see code through link above
}
private void addOrUpdateRlz(Integer matricula, String funci, Number horas) {
//see code through link above
}
private void addOrUpdateOrc(Integer matricula, String funci, Number horas) {
//see code through link above
}
private void populateMap(Map<Object, Number> map, Map<String, Number> data) {
//see code through link above
}
public CartesianChartModel getCartesianChartModel() {
//see code through link above
}
public void setCartesianChartModel(CartesianChartModel cartesianChartModel) {
//see code through link above
}
public void itemSelect(ItemSelectEvent event) {
/* Primefaces simple example:
FacesMessage msg = new FacesMessage(FacesMessage.SEVERITY_INFO, "Item selected",
"Item Index: " + event.getItemIndex() + ", Series Index:" + event.getSeriesIndex());
FacesContext.getCurrentInstance().addMessage(null, msg);*/
//implement code to get bean info here
}
}
这是呈现图表的部分JSF:
<p:barChart id="barStacked" value="#{chartBean.cartesianChartModel}">
<p:ajax event="itemSelect" listener="#{chartBean.itemSelect}" update="msg" />
</p:barChart>
<p:growl id="msg" />
有关该代码的更多详细信息,请访问数据库的PrimeFaces图表 。
您可以尝试从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);
从那里可以使用event.getItemIndex()找到ChartSeries对象。 ChartSeries的Javadoc为您要查找的所有属性提供了一些吸气剂。
mbeddedsoft。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.