0

我的要求是根据用户选择的产品显示一个向导(使用下拉菜单)。所以我使用 ap:wizard 组件,其中包含 p:outpanel 中的几个步骤(自动更新为真)。最初呈现时,一切看起来都很好,即所有选项卡和导航按钮都正确显示。但是在单击下一步按钮时,导航按钮和标题选项卡正在消失。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>

在此处输入图像描述

在此处输入图像描述


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

现在我面临着多个问题,

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

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>
4

0 回答 0