Se eu usar ajax, ele não abre…alguem sabe me explicar pq isso?
Mas se eu uso ajax= false, ele da erro nos meus datatable
Caused by: java.lang.NullPointerException
at org.primefaces.component.datatable.DataTable.getRowData(DataTable.java:794)
at org.primefaces.component.datatable.feature.SelectionFeature.decodeSingleSelection(SelectionFeature.java:46)
at org.primefaces.component.datatable.feature.SelectionFeature.decode(SelectionFeature.java:37)
at org.primefaces.component.datatable.DataTableRenderer.decode(DataTableRenderer.java:53)
at javax.faces.component.UIComponentBase.decode(UIComponentBase.java:787)
at org.primefaces.component.api.UIData.processDecodes(UIData.java:224)
O actionListener é a primeira chamada antes do ajax, voce pode mudar a ordem acrescentando immediate=true, isso fará com que o ajax venha primeiro que os actions. Faça um teste, voce so postou o seu botao, logo, estou podendo ajudar voce somente com hipoteses.
achei o erro, eu tinha um componente (composite) que fazia uma consulta e exibia em um datatable. Esse componente estava fora do form e como ele estava como selection = “single” ele dava erro de nullpointerexception quando eu executava o relatorio.