J'ai une sélection SelectOneListBox avec> 50 articles. Lorsqu'un nouvel élément est ajouté - enregistré, il est ajouté en tant que dernière ligne, qui est en dehors de la zone visible en cours. J'ai besoin que la listbox défile automatiquement jusqu'à la nouvelle ligne ajoutée (qui est sélectionnée).Primefaces Ajax SelectOneListBox barre de défilement à la position désirée
Le bouton Ajouter-enregistrer et la zone de liste sont ajaxifiés. J'utilise Primefaces 5.0. Comment puis-je faire ceci?
Le code page JSF:
<p:commandButton title="Save" icon="ui-icon ui-icon-disk" >
<p:ajax process="name desc @this"
update="list msg"
listener="#{bean.saveListener}"/>
</p:commandButton>
<p:selectOneListbox id="list" scrollHeight="120"
value="#{bean.selectName}">
<f:selectItems value="#{bean.data}" var="b"
itemLabel="#{b.desc}" itemValue="#{b.name}"/>
<p:ajax process="@this" update="@this name desc msg"
listener="#{bean.valueChanged}"/>
</p:selectOneListbox>
Regardez le code HTML généré et utilisez tous les javascript/jquery disponibles pour faire défiler jusqu'à la position correcte. – Kukeltje
J'ai résolu le problème; la solution suit. –