2017-09-11 7 views
1

Dans la documentation de ng2-ya-table la fonction de source de données est écrit de cette façon:Comment utiliser datasoure dans ng2-ya-table?

public datasource: any = (request: any): Observable<any> => { 
return this.service.getUsers(request); 
} 

Et utilisé comme ceci:

<ng2-ya-table [options]="options" [columns]="columns" [datasource]="datasource" [paging]="paging"> 
</ng2-ya-table> 

Je ne veux pas utiliser cette fonction de cette façon parce que j'ai statique

data = [ 
    { 
     name: 'Patricia', 
     email: '[email protected]', 
     username: 'Yes', 
    }, 
    { 
     name: 'Chelsey Dietrich', 
     email: '[email protected]', 
     username: 'No', 
    } 
] 

Est-ce possible ou suis-je obligé de rendre le type observable? J'ai essayé beaucoup en utilisant des données statiques mais en vain

public datasource: any = { 
    return this.data ; 
} 

pourquoi cette fonction ne fonctionne pas?

+0

quelqu'un vous répond ... En espérant que j'ai même question et la documentation de ce module est pauvre – TSG

Répondre

0

Essayez avec:

public datasource: any = (request: any): Observable<any> => { 
    return Observable.of({ 
    recordsTotal: this.data.length, 
    recordsFiltered: this.data.length, 
    data: this.data 
    }); 
} 

Quoi qu'il en soit, vous devez effectuer la pagination, le tri et le filtrage côté client (la source de données est un observable afin d'effectuer cette opération côté serveur). Par exemple (uniquement en page):

public datasource: any = (request: any): Observable<any> => { 
    let page = (request.start/request.length) + 1; 
    return Observable.of({ 
    recordsTotal: this.data.length, 
    recordsFiltered: this.data.length, 
    data: this.data.slice(request.length * (page - 1), request.length * page) 
    }); 
} 
+0

La dernière version prend désormais en charge la source de données locale. – vitocmpl

0

J'ai essayé:

public datasource: any = (request: any): Observable<any> => { 
    return Observable.of(this.data); 
} 

mais il provoque une cascade d'erreurs en commençant par:

Ng2YaTableComponent.html:53 ERROR TypeError: Cannot read property 'length' of undefined

Si quelqu'un peut améliorer cette réponse peut-être que nous pouvons trouver une solution