我有一个可编辑的表格:
<p:dataTable id="myTable" ... editable="true"></p:dataTable>
表格中只有一行,我希望此行的单元格可以点击以打开弹出窗口。 我尝试了there
给出的解决方案<p:column id="myColumn" headerText="name" styleClass="align-center">
<p:cellEditor>
<f:facet name="output">
<h:panelGrid update="@widgetVar(infosNameFormDialog)" onClick="PF('infosNameFormDialog').show();">
<h:outputText value="#{element.name}" />
</h:panelGrid>
</f:facet>
<f:facet name="input">
<p:inputText value="#{element.name}" />
</f:facet>
</p:cellEditor>
</p:column>
这个解决方案有一个问题:因为h:panelGrid我有一个矩形框架数据的数据,这是不可接受的。
所以我尝试使用p:link作为其他解决方案
<p:column id="myColumn" headerText="name" styleClass="align-center">
<p:cellEditor>
<f:facet name="output">
<p:link update="@widgetVar(infosNameFormDialog)" onClick="event.preventDefault(); PF('infosNameFormDialog').show(); event.stopImmediatePropagation();">
<h:outputText value="#{element.name}" />
</p:link>
</f:facet>
<f:facet name="input">
<p:inputText value="#{element.name}" />
</f:facet>
</p:cellEditor>
</p:column>
现在我可以使用我想要的任何值编辑单元格,并获得一个允许打开弹出窗口的链接。 但是当单元格中没有数据时,就不能有任何链接...... 我没有任何想法来解决这个问题
我使用的是Primefaces 5.1