J'utilise Primefaces et JSF2.0 pour construire une page.AutoScrolling dans la page JSF/Primefaces
Dans la page j'ai deux panneaux quand je clique sur le bouton "Click-me" un panneau un, il a rendu le deuxième panneau dans la même page, ce que je veux est quand je clique sur le bouton "Click-moi" page devrait également défiler automatiquement et devrait amener le deuxième en-tête de panneau devant l'utilisateur, actuellement l'utilisateur doit faire défiler manuellement pour voir le deuxième panneau. Le code est comme ci-dessous
XHTML page
<h:form id="form1">
<p:panel header="Panel One" id="PanelOne" >
<h:panelGrid styleClass="panelGrid" columns="2" id="PanelOneGrid" width="90%" >
<h:outputText value="First Input Field Panel One" ></h:outputText>
<p:inputTextarea rows="20" cols="80"></p:inputTextarea>
<h:outputText value="Second Input Field Panel One" ></h:outputText>
<p:inputTextarea rows="20" cols="80"></p:inputTextarea>
<h:outputText value="" ></h:outputText>
<p:commandButton value="Click-me" update="form1" action="#{autoScrollBean.clickAction}">
</p:commandButton>
</h:panelGrid>
</p:panel>
<p:panel header="Second One" id="PanelTwo" rendered="#{autoScrollBean.renderPanelTwo}">
<h:panelGrid styleClass="panelGrid" columns="2" id="PanelTwoGrid" width="90%" >
<h:outputText value="First Input Field Panel Two" ></h:outputText>
<p:inputTextarea rows="20" cols="80"></p:inputTextarea>
<h:outputText value="Second Input Field Panel Two" ></h:outputText>
<p:inputTextarea rows="20" cols="80"></p:inputTextarea>
</h:panelGrid>
</p:panel>
</h:form>
Managed Bean est comme ci-dessous
@ManagedBean
@ViewScoped
public class AutoScrollBean {
private boolean renderPanelTwo;
public boolean isRenderPanelTwo() {
return renderPanelTwo;
}
public void setRenderPanelTwo(boolean renderPanelTwo) {
this.renderPanelTwo = renderPanelTwo;
}
public void clickAction() {
System.out.println("Inside Method");
setRenderPanelTwo(true);
}
}
EDIT:
<p:focus />
En utilisant la commande ci-dessus focus, curosr va au premier champ de saisie et ce champ de saisie est montré à l'utilisateur après le défilement automatique, mais je veux montrer l'utilisateur de l'en-tête de panneau PAS du premier champ de saisie.