直升机,
我想问一下primefaces对话框相关的问题。
PrimeFaces-4.0-SNAPSHOT包含新的Dialog Framework,如果您返回dialog:
假装的操作结果,则可以动态生成对话框。 http://www.primefaces.org/showcase/ui/dialogFrameworkData.jsf
据我所知,它需要结果并将其呈现为自动生成的对话框内容。
由于Primefaces 4.0需要一些时间才能完成,我想知道是否可以通过其他方式实现类似的功能。通过类似的功能,我的意思是在对话框中显示(或渲染)另一个视图。
我目前正在开发的项目是非常动态的,主要基于BPM,显示带有动态内容的对话框的能力非常有用。
更新 我自己一直在调查Primefaces存储库,并发现了POC对话框架实现的修订:https://code.google.com/p/primefaces/source/detail?r=8808
感谢。
答案 0 :(得分:0)
是。您可以使用jQuery UI dialogs
用法非常简单。假设您要在对话框中显示其内容<h:panelGroup>
,然后您可以先重新呈现此panelGroup
,然后在其上调用dialog()
方法。
<h:panelGroup id="dialogContainer" styleClass='dialog'>
<p:dataTable var="car" value="#{tableBean.carsSmall}">
<p:column headerText="Model">
<h:outputText value="#{car.model}" />
</p:column>
<p:column headerText="Year">
<h:outputText value="#{car.year}" />
</p:column>
<p:column headerText="Manufacturer">
<h:outputText value="#{car.manufacturer}" />
</p:column>
<p:column headerText="Color">
<h:outputText value="#{car.color}" />
</p:column>
<p:column headerText="Color">
<p:commandButton icon="ui-icon-search" actionListener="#{tableBean.selectCarFromDialog(car)}" />
</p:column>
</p:dataTable>
</h:panelGroup>
点击按钮后,您首先需要重新呈现dialogContent
,然后致电$('.dialog').dialog();
(请阅读API以获取dialog()
的完整参数集
但我不确定你是什么意思
因为Primefaces 4.0需要一些时间才能完成
你的意思是框架本身需要时间才能达到最后阶段或学习曲线陡峭吗?如果是前者,使用jQuery UI对话框是有道理的。如果是后者,我认为采取任何其他方法都不会更快!无论如何,希望这有助于:)
UPDATE:实际上,您可以重新渲染内容而不是容器本身。因此,在此示例中,您可以重新呈现p:dataTable
而不是容器。