Extend the datatable and add a property like renderHeader:
Code: Select all
public class MyDataTable extends org.primefaces.component.datatable.DataTable
{
protected enum PropertyKeys { renderHeader }
/**
* returns true (default) if the Header of the table should be rendered, otherwise the
* thead tag and it's contents won't be rendered
*
* @return
*/
public boolean isRenderHeader()
{
return (Boolean) getStateHelper().eval( PropertyKeys.renderHeader, Boolean.TRUE );
}
public void setRenderHeader( boolean _renderHeader )
{
getStateHelper().put( PropertyKeys.renderHeader, _renderHeader );
handleAttribute( "renderHeader", _renderHeader );
}
}
Extend the DataTableRenderer:
Code: Select all
public class MyDataTableRenderer extends org.primefaces.component.datatable.DataTableRenderer
{
@Override
protected void encodeThead( FacesContext context, DataTable table )
throws IOException
{
MyDataTable myTable = (MyDataTable) table;
// Don't render the header if renderHeader-Attribute is set to false
if (!myTable.isRenderHeader() )) return;
super.encodeTHead(context, table);
}
}