2017-06-21 1 views
4

Ich verwende einen Back-End-Server (Java Spring), der Pager aktiviert hat. Ich lade 100 Datensätze pro Seite bei einem HTTP-Aufruf.ng2-smart-table mit Paging vom Back-End (Spring)

Am angular2-Dienst verbraucht es den API-Aufruf mit "? Page = 1 & size = 100" als ersten Aufruf, während auf dem Client-Pager 10 und bis zu 10 Seiten angezeigt werden, was in Ordnung ist. Aber ich kann den nächsten Datenblock nicht vom Server laden. Ich habe ServerDataSource überprüft und .setPaging (1.100) verwendet.

Wie kann ich den nächsten Datenblock (2-200) laden und wie kann ich dies erreichen? Hinweise sind hilfreich.

@Injectable() 
export class AmazonService extends ServerDataSource { 

constructor(protected http: Http) { 
    super(http); 
} 

public getAmazonInformation(page, size): Observable<Amazon[]> { 

    let url = 'http://localhost:8080/plg-amazon?page=1&size=100'; 
    this.setPaging(1, 100, true); 
    if (this.pagingConf && this.pagingConf['page'] && 
     this.pagingConf['perPage']) { 
      url += 
     `page=${this.pagingConf['page']}&size=${this.pagingConf['perPage']}`; 
} 

return this.http.get(url).map(this.extractData).catch(this.handleError); 
} 

Vielen Dank!

Antwort

0

versuchen, die Einstellungen auf die Smart-Tabelle zu setzen wie diese

<ng2-smart-table #grid [settings]="settings" ... > 

Und bei Ihrer Komponente definieren Sie die Einstellungen, etwa wie folgt:

public settings: TableSettings = new TableSettings(); 
 

 
    ngOnInit(): void { 
 
     ... 
 
    this.settings.pager.display = true; 
 
    this.settings.pager.perPage = 100; 
 
    ... 
 
    }

+0

Danke , aber dies ist für clientseitige Seiteneinstellung, die 100 Datensätze auf einer Seite zeigt, die in meiner Antwort von der ersten Anfrage ist, aber meine Datenbank hat mehr als 100 Datensätze th Ich möchte in Stücke von 100 laden. Meine Frage war, wie und wo die http-Anfrage URL mit (Seite & Größe) zu aktualisieren, wenn wir das 100. Element erreichen. –

+0

Smart-Tabelle wird die Parameter für die Anfrage für Sie hinzufügen :) werfen Sie einen Blick auf die ServerDataSource-Implementierung, https://github.com/akveo/ng2-smart-table/blob/master/src/ng2-smart-table /lib/data-source/server/server.data-source.ts, Methode addPagerRequestOptions() –