如何使可编辑单元格可单击以打开弹出窗口

时间:2015-06-26 11:42:02

标签: primefaces datatable

我有一个可编辑的表格:

<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

0 个答案:

没有答案