Wie zu erkennen, aktualisieren von PrimeFaces dataTable

Ich habe eine ganz einfache und direkte Frage.
Gibt es irgendeine Methode, wie zu erkennen, änderung in der dataTable?

Sagen wir mal, ich habe eine dataTable mit pagination. Und jetzt, wenn ich von Seite 1 auf Seite 2, die ich brauche, um dies zu erkennen-event und update gMap Komponente auf der gleichen Seite (ich muss die gMap zur Aktualisierung seiner dataModel aus backing-bean). Ich habe versucht, die Verwendung von update-parameter, aber als PF-Dokumentation erwähnt, es ist veraltet und hat nicht funktioniert.

Ich bin in der Lage, zu aktualisieren gMap manuell durch klicken auf p:button, aber ich muss es tun automatisch nach der dataTable ändern.

Vielleicht gibt es eine Lösung mit javascript und verbindlich datatable-widget, um etwas action, aber ich weiß wirklich nicht 🙁

Vielen Dank im Voraus für jede Hilfe


UPDATE

Meine Methode für die Initialisierung LazyDataMethod ist:

private LazyDataModel<Poi> lazyModel;

private void initializeLazyModel() {
    lazyModel = new LazyDataModel<Poi>() {

        @Override
        public List<Poi> load(int first, int pageSize, String sortField, boolean sortOrder, Map<String, String> filters) {                
            List<Poi> data = service.getPoisLazily(first, pageSize, sortField, sortOrder, filters);
            pois = data;
            createMapForPOIs(pois);
            return data;
        }
    };

    lazyModel.setRowCount(getNumberOfRows());
}

Nächsten sind es nur getter/setter für LazyDataModel:

public LazyDataModel<Poi> getLazyModel() {
    return lazyModel;
}

public void setLazyModel(LazyDataModel<Poi> lazyModel) {
    this.lazyModel = lazyModel;
}

In pois.xhtml habe ich datatable-Erklärung wie folgt:

<p:dataTable update="formMap:map" id="tablePois" var="poi" value="#{poiController.lazyModel}"  lazy="true"
                         paginator="true" rows="10" paginatorPosition="bottom"
                         selection="#{poiController.poi}" rowSelectListener="#{poiController.showPoi}" selectionMode="single"
                         paginatorTemplate="{FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"  
                         rowsPerPageTemplate="5,10,15,30,50">                                                       

                <p:column>  
                    <h:outputText value="#{poi.name}" />
                </p:column>
</p:dataTable>

Also an dieser Stelle würde ich gerne

RequestContext context = RequestContext.getCurrentInstance(); 
context.addPartialUpdateTarget("form:gMapId");

vorgeschlagen von @spauny. Aber weiß nicht, wo in der backing-bean, um es zu stellen.

InformationsquelleAutor vojtak | 2011-12-06
Schreibe einen Kommentar