My xhtml:
Code: Select all
<p:dataTable id="dataTableIncomingDoc"
var="item"
scrollable="true"
scrollHeight="100%"
scrollWidth="100%"
showGridlines="true"
selectionMode="single"
draggableColumns="true"
resizableColumns="true"
size="small"
styleClass="fixed-size"
selection="#{docsBean.docEntitySelected}"
rowKey="#{item.id}"
value="#{docsBean.loadDocsList()}">
<p:column id="registrationDate"
headerText="Reg. date"
<h:outputText value="#{item.registrationDate}"/>
</p:column>
<p:column id="regNr"
headerText="Reg. Nr."
<h:outputText value="#{item.regNr}"/>
</p:column>
<p:column id="documentNr"
headerText="Doc. Nr."
<h:outputText value="#{item.docNr}"/>
</p:column>
</p:dataTable>
Code: Select all
public List<DocEntity> loadDocsList() {
var dataTable = (DataTable) FacesContext.getCurrentInstance().getViewRoot().findComponent("mainForm:dataTableIncomingDoc");
var a = dataTable.getColumns().get(1);
var b = dataTable.getColumns().get(2);
((Column) a).setDisplayPriority(2);
((Column) b).setDisplayPriority(1);
((Column) a).setWidth("200");
((Column) b).setWidth("300");
PrimeFaces.current().ajax().update(dataTable);
return docsList;
}