J'ai une grille d'UI Kendo pour Angular 2 qui peut avoir beaucoup de données. Par conséquent, j'utilise un appel d'API qui inclut un compte et place les données dans une grille paginée. Lorsque je clique sur le bouton Exporter vers Excel, il ne renvoie que les données affichées. J'aimerais pouvoir exporter l'intégralité du jeu de données à la place.Telerik Kendo UI Grille Personnalisation Excel Export
Je pense que je suis censé être en utilisant la méthode fetchData et inclus dans la grille comme suit:
<kendo-grid-excel fileName="MyExport.xlsx" [fetchData]="allResults"></kendo-grid-excel>
Cependant, la méthode allResults doit renvoyer un objet ExcelExportData. Mon appel de méthode à l'API retourne une observable qui est ensuite analysée. J'ai essayé de retourner les données dans l'événement subscribe, mais cela me donne une erreur TypeScript que la méthode doit renvoyer une valeur. Si je change le type de retour à "any", il échoue sur mon appel à "this" lors de l'application externe des filtres.
Ceci est ma méthode de récupération en cours:
allResults(): ExcelExportData {
if (!this.sort.length) {
this.sort.push({ field: undefined, dir: undefined });
}
this.myService.resultsGet(
this.filters.date,
...
undefined, // skip
undefined, // take
this.sort[0].field,
this.sort[0].dir
).subscribe(
(pagedList: any) => {
for (let item of pagedList.results) {
// manipulate a few things here
}
return { data: pagedList.results };
},
e => { console.log(`error: ${e}`); }
);
}
Est-il possible de le mettre en place pour faire un appel API externe en utilisant des filtres de composants angulaires et renvoyer les données à travers une souscription?
Merci d'avance!
Merci pour le conseil sur ce non défini! Le retour est toujours un problème. Le problème que j'ai est que la grille a seulement un sous-ensemble des données requises dans l'exportation. J'ai déjà eu le code que vous avez écrit pour allResults pour la méthode que j'utilise pour charger la grille (bien que j'utilise un abonnement au lieu d'une carte). Cela fonctionne bien car la grille peut gérer les Observables. Lorsque je clique sur le bouton "Exporter vers Excel", j'ai besoin d'un ensemble de paramètres différent pour la méthode myService.resultsGet qui renvoie un type ExcelExportData (allResults(): ExcelExportData). Mettre le retour sur la carte renvoie un vide. Est-ce que Kendo peut faire ça? – ChristyPiffat
Je ne suis pas sûr de ce que vous demandez. J'ai ajouté un plunker ci-dessus qui montre obtenir toutes les données et les modifier. –