After the upgrade from 3.4.2 to 3.4.4 I started to walk through my existing application to see if there were any issues. On a couple of pages I use p:columns for dynamic table structures and noticed that none of the actions within those tables were firing, which they previously were.
My application examples are quite complex (it's a soccer league management application) so I condensed it down into a very simple example and still can't get this to work. See the code below. The p:commandLinks do not fire, except for the last one, which may be of some significance.
The primefaces showcase doesn't show any specific example of p:commandButton or p:commandLink for the p:columns demo, but this has been working for me on 3.4.2 so assumed that it was possible. After upgrading to 3.4.3 and 3.4.4 it stopped working, I think it's also the same on 3.5.1.
Code: Select all
<prime:dataTable var="row" value="#{testPrimeColumns.rows}">
<prime:column>
#{row}
</prime:column>
<prime:columns value="#{testPrimeColumns.columns}" var="column">
<h:panelGroup>
<prime:commandLink action="#{testPrimeColumns.columnClicked()}" value="Click Me"/>
</h:panelGroup>
</prime:columns>
</prime:dataTable>
Code: Select all
@Name("testPrimeColumns")
@Scope(ScopeType.PAGE)
public class TestPrimeColumns {
private List<String> columns;
private List<String> rows;
public TestPrimeColumns() {
rows = new ArrayList<String>();
rows.add("Location 1");
rows.add("Location 2");
rows.add("Location 3");
rows.add("Location 4");
columns = new ArrayList<String>();
columns.add("7pm");
columns.add("8pm");
columns.add("9pm");
columns.add("10pm");
}
public List<String> getColumns() {
return columns;
}
public List<String> getRows() {
return rows;
}
public void specificColumnClicked(String row, String col) {
System.out.println("Column clicked "+row+" "+col);
}
public void columnClicked() {
System.out.println("Column clicked");
}
}