【发布时间】:2018-08-19 09:29:41
【问题描述】:
当推到数据表中的行值附近时,我需要一个显示模式窗口的链接,如下所示,但显然我通过请求参数将数据表中的值直接传递到模式窗口的方式是错误的。所以我在窗口内收到空白区域。这是它的外观图片和代码示例(黄色三角形是链接):
<p:dataTable id="ticketList" value="#{tickets}" var="ticket">
<p:column headerText="Статус экспорта">
<h:outputText value="#{ticket.exportStatus.caption}"/>
<p:commandLink id="ticketErrorShowlink"
action="ticketError"
oncomplete="PF('exportError').show();">
<h:graphicImage url="/images/shim.gif" style="border:0; vertical-align:center" width="5"/>
<h:graphicImage id="headImageHelp" url="/images/mess_warning.gif" title="Ошибки экспорта"
style="border:0; vertical-align:bottom"/>
<f:param name="errorText" value="#{ticket.errors}"/>
</p:commandLink>
</p:column>
</p:dataTable>
<p:dialog id="ticketErrorModalPanel" header="Ошибки экспорта" widgetVar="exportError">
<f:facet name="controls">
<h:outputLink id="phidelink" value="#hide" onclick="PF('exportError').hide();">
<h:graphicImage value="/images/close.png" style="border:0; cursor:pointer;"/>
</h:outputLink>
</f:facet>
<p:panelGrid columns="1" columnsWidth="540px">
<h:outputText value="#{requestParameters.errorText}" escape="false" />
</p:panelGrid>
<p:commandLink id="closeLink" oncomplete="PF('exportError').hide();" value="Закрыть" />
</p:dialog>
那么,是否有任何规则可以遵循从数据表传递参数或在标签中接收参数来解决此类问题?提前感谢您的回答。如有需要,将添加任何其他信息。
【问题讨论】:
-
也许您可以在对话框中执行
<h:outputText value="#{ticket.errors}"/>并在<commandLink中执行 update="ticketErrorModalPanel" -
我试过但不幸的是它给出了相同的结果
-
可以在
p:commandLink里面使用f:setPropertyActionListener来设置参数,会在p:dialog中显示 -
您能否阐明它应该如何工作,因为表格中有不止一行带有指向模式窗口的链接?例如,我可以在支持 bean 中创建所有错误文本的列表。但是我将如何确定应该附加到哪个列表项?
-
所以你确实让它在 PrimeFaces 6.1 中工作?并检查 PrimeFaces 展示。里面的例子
标签: primefaces jsf-2