0

直升机,

我想问primefaces对话相关的问题。

PrimeFaces-4.0-SNAPSHOT 包含新的对话框框架,如果您返回假装的动作结果,您可以动态生成对话框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

谢谢。

4

1 回答 1

0

是的。你可以使用jQuery UI 对话框

用法很简单。假设您有一个<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 对话框是有意义的。如果是后者,我认为采取任何其他方法都不会更快!无论如何,希望这会有所帮助:)

更新:实际上,您可以只重新渲染内容而不是容器本身。所以在这个例子中你可以重新渲染p:dataTable而不是容器。

于 2013-05-07T05:08:28.223 回答