JSF tables can be programmatically generated as well. The JSF API provides comprehensive support to accomplish such tasks. First, you prepare the place where the generated table will be added, as follows:
<h:body> <h:form id="tableForm"> <h:panelGrid id="myTable"> </h:panelGrid> <h:commandButton value="Add Table" action="#{playersBean.addTable()}"/> </h:form> </h:body>
The idea is simple: when the button labeled Add Table is clicked, the generated table should be attached in the <h:panelGrid>
tag identified by the myTable
ID.
Before creating a JSF table in a programmatic fashion, you need to know how to create a table, a header/footer, a column, and so on. Let's have a short overview as follows—the code is self-explanatory and straightforward, since JSF provides very intuitive methods:
Let's create the simplest table,
<h:dataTable value="..." var="t" border="1"...