0
votes

I have a breadcrumb and datatable enter image description here

Number of columns is dynamic. (ie: On clicking "Header7" in breadcrumb, 7 header column plus one "More-Info" column is to be rendered).
I created data-table using primefaces-datatable-columns
My xhtml file is :

<p:dataTable id="dataMain" var="car" value="#{orgUnitBean.rows}">
    <p:columns value="#{orgUnitBean.columns}" var="column"
        columnIndexVar="colIndex" sortBy="#{car[column.property]}" filterBy="#{car[column.property]}">
        <f:facet name="header">
            <h:outputText value="#{column.header}" />
        </f:facet>
        <h:outputText value="#{car[column.property]}" />
    </p:columns>
</p:dataTable>

Question:
how to add commandLink in "More-Info" column. (currently I am just displaying "id" of last "Header" entity in it. In image attached: 3 is id of unitL3 and 13 is id of Lnitu3. I want to replace it with commandLink which will invoke bean method and pass these id as parameter to it).

Thanks

1

1 Answers

1
votes

Use the rendered attribute of a commandLink in combination with the colIndex. Put this in the column like this

<p:commandLink rendered="#{colIndex == 5}" ... />

Where 5 is the index of the more-info column. You can also do a string compare on the colum header if you want.

(This is a very basic jsf pattern btw)