Frage

in meiner JSF-Anwendung benötigen i ui Komponente während invoke Bewerbungsphase zu aktualisieren. Es kann getan werden? Hier ist der Code, den ich produziert habe, so weit:

    public void resetDataScroller(ActionEvent actionEvent) {

    final FacesContext ctx = FacesContext.getCurrentInstance();

    ctx.getViewRoot().invokeOnComponent(ctx, "paginator_and_table:scroll_1", new ContextCallback() {
        public void invokeContextCallback(FacesContext facesContext, UIComponent uiComponent) {

            HtmlDatascroller htmlDatascroller = (HtmlDatascroller) uiComponent;

            htmlDatascroller.setPage(1);
            htmlDatascroller.setValue(1);


        }
    });

}

Diese Aktion Hörer nachschlägt dataScroller Komponente und setzt Seite und Wert auf 1. Unfortunatelly scheint es gar nicht zu arbeiten, weil gerendert dataScroller Seite anders als 1 hat

Bin ich etwas fehlt?

War es hilfreich?

Lösung

Ich stelle mir vor, dass Ihr resetDataScroller ein Verfahren durch ein actionListener Attribut eines Befehlstaste / Link auf Ihrer Seite mit dem Namen?

ich nicht wirklich verstehen, was Sie zu tun versuchen ... Haben Sie müssen nur diesen Code schreiben? :

public void resetDataScroller(ActionEvent evt) {
    final FacesContext ctx = FacesContext.getCurrentInstance();
    HtmlDatascroller htmlDatascroller = (HtmlDatascroller) ctx.getViewRoot().findComponent("paginator_and_table:scroll_1");
    htmlDatascroller.setPage(1);
    htmlDatascroller.setValue(1);
}

Wenn Sie diese Eigenschaften des HtmlDatascroller während dieser Phase ändern, werden sie von JSF in der letzten Phase verwendet werden (die Render Response Phase) Ihren HTML-Code zu generieren ...

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top