在数据表加载后调用的primefaces命令按钮操作

时间:2012-11-30 11:18:57

标签: jsf-2 primefaces

我遇到了primefaces命令按钮和数据表的问题。我在数据表中有两个按钮。每当首先加载数据表然后再调用按钮操作时,我单击按钮。我只是想在单击按钮时避免数据表加载。

 <p:dataTable id="alphaTable" var="cs" binding="#{challengeSetBean.alphaChallengeSetTable}"
                        value="#{challengeSetBean.challengeSet}" styleClass="myTable"
                        style="list-style-type:none;width:600px;border:1px;" >

                <p:column id="col" style="width:20px;font-size:12px;padding-left:7px;padding-bottom:7px;padding-top:7px;">
                  ..................
                                      ................      
                </p:column>

                <p:column  style="width:28px;font-size:9px;padding-left:7px;padding-bottom:7px;padding-top:7px;">

                        <p:commandButton value="#{msg.updateAccount_reset}" action="#{challengeSetBean.editAnswer()}" immediate="true" rendered="#{!cs.editMode}" process="@this" update="col" >
                        </p:commandButton>
                        <p:commandButton value="#{msg.common_save}" action="#{challengeSetBean.saveAnswers()}" rendered="#{cs.editMode}" ajax="true" immediate="true" update="@form"/>
                        <p:commandButton value="#{msg.cancel}" action="#{challengeSetBean.cancelAnswer()}" rendered="#{cs.editMode}" ajax="true" immediate="true" update="@form"/>
                        <p:commandButton value="#{msg.common_delete}" action="#{challengeSetBean.deleteAnswer()}" rendered="#{!cs.editMode}"  immediate="true" update="@form"/>

            </p:column>
    </p:dataTable>   

1 个答案:

答案 0 :(得分:1)

将bean放在视图范围中,以便在初始GET请求时仅对其进行一次实例化,并在后续回发中重复使用。从binding中删除<p:dataTable>属性,以便由于鸡蛋JSF问题1492而不会重新创建视图范围bean。现在您只需加载challengeSet({1}} )bean的构造函数。在后续回发期间不会调用它。

另见: