Code: Select all
<p:dataTable value="#{bean.rows}" var="row">
<p:columns value="#{bean.columns}" var="column" columnIndexVar="colIndex">
<f:facet name="header">
<h:outputLabel id="taskHeader" value="#{column.task.header}"/>
<p:contextMenu for="taskHeader" zindex="50">
<p:menuitem value="Change state of task" onclick="taskDialog.show();">
<f:setPropertyActionListener value="#{column.task}" target="#{bean.selectedTask}"/>
</p:menuitem>
</p:contextMenu>
</f:facet>
...
</p:columns>
</p:dataTable>
<p:dialog header="Change state of task" widgetVar="taskDialog modal="true">
<h:form>
<h:panelGrid columns="2" cellpadding="5">
<h:outputLabel value="Task:"/>
<h:outputText value="#{bean.selectedTask.header}" />
<h:outputLabel for="state" value="New state"/>
<p:selectOneRadio id="state" value="#{bean.newState}">
<f:selectItems value="#{bean.allStateItems}" />
</p:selectOneRadio>
<h:outputLabel value=""/>
<p:commandButton action="save" value="Save"/>
</h:panelGrid>
</h:form>
</p:dialog>