Primefaces:p:向导在p:outputpanel内部无法正常工作

时间:2013-03-22 19:42:48

标签: java jsf jsf-2 primefaces

我的要求是根据用户选择的产品显示向导(使用下拉列表)。所以我使用p:向导组件,其中包含p:outpanel内的几个步骤(autoupdate为true)。当最初渲染时,一切看起来都很好,即所有标签和导航按钮都正确显示。 但是在单击下一个按钮时,导航按钮和标题选项卡正在消失。 PFB我创建的示例代码和屏幕截图,用于验证此错误。

 <p:panel style="height: 100px;width:500px">
      <p:outputPanel autoUpdate="true">
         <p:wizard>
            <p:tab id="tab1" title="Tab 1">
                  Sample Tab 1
                  </p:tab>
            <p:tab id="tab2" title="Tab 2">
                  Sample Tab 2</p:tab>
            <p:tab id="tab3" title="Tab 3">
                  Sample Tab 3</p:tab>
         </p:wizard>
      </p:outputPanel>
      </p:panel>

enter image description here

enter image description here


手动更新未刷新数据表中的数据。我有一个非常混乱的要求。 我有一个表单,其中有一个数据表和两个命令按钮,即删除更新详细信息。 在单击删除时,必须从数据表中删除所选记录(数据库正在更新,但不是UI)。单击“更新详细信息”时,必须在数据表下显示一个向导,其中包含有关所选记录的详细信息。用户应该能够从数据表中选择不同的记录,并且必须使用正确的数据更新向导。

现在我面临着多个问题,

  1. 如果我将删除按钮设为ajax,则数据表不会更新(不使用outputpanel或更新完整表单)。
  2. 如果我使用输出面板,那么UI会在过滤或排序时搞砸(由于视图状态未恢复)。
  3. 如果我为数据表和向导创建单独的表单,并尝试从“更新详细信息”按钮更新向导数据。然后也 向导数据没有得到更新。
  4. 如果我使用输出面板,那么点击下一步就会搞乱WIzard UI(由于视图状态未恢复)。
  5. PFB场景的虚拟代码:

    <h:form id="form1">
      <p:outputpanel id="panel1">
           <p:datatable value="#{someBeanMethod}" var="someData">
           //Some data Table columns
           <f:facet name="footer">
                      <p:commandbutton id="button1" value="delete" 
                                 actionListner="#{deletFuntion}" update="@(form1:panel1)"/>
                     <p:commandbutton id="button2" value="viewDetails" 
                                 actionListner="#{fetchViewMethod}" update="@(form1:panel2)"/>
           </f:facet>
           </p:datatable>
       </p:outputpanel>
    
       <p:outputpanel id="panel2">
          <p:wizard id="wizard1" rendered = "#{someFlag}">
                    //Some Functionality
           </p:wizard>
       </p:outputpanel>
    </h:form>
    

0 个答案:

没有答案