Navigation sur les pages
Lorsque vous chargez un rapport Power BI dans une application, vous pouvez utiliser les API clientes Power BI pour naviguer entre ses pages de rapport. Par exemple, vous pouvez définir la page par défaut ou modifier une page de manière dynamique. Cela vous permet de créer votre propre navigation de page personnalisée pour correspondre à votre marque. Vous pouvez également modifier automatiquement les pages en fonction d’un critère défini pour afficher un utilisateur certains visuels et informations.
Chaque page d’un rapport est représentée par un objet Page. Pour renvoyer toutes les pages d’un rapport, appelez la méthode getPages
du rapport, qui retourne les pages sous la forme d’une collection d’objets Page
. La collection de pages est retournée dans le même ordre que dans le rapport.
La classe Report définit la méthode getPages
comme suit :
getPages(): Promise<Page[]>
Par exemple:
let pages = await report.getPages();
Guide pratique pour naviguer entre les pages de rapport
Utilisez les objets Page et Rapport dans votre application pour naviguer entre les pages de rapport, comme illustré par les exemples de code des sections suivantes.
Définir la page active
Utilisez la méthode setPage
d’un objet Report
pour créer une page existante la page active d’un rapport.
La classe Report définit la méthode setPage
comme suit :
setPage(pageName: string): Promise<void>
Par exemple:
await report.setPage("page2");
Rendre la page active
Utilisez la méthode setActive
d’un objet Page
pour vous assurer que la page est toujours valide pour un rapport donné. Pour obtenir des objets Page
, appelez getPages
sur un objet Report
.
La classe Page définit la méthode setActive
comme suit :
setActive(): Promise<void>
Par exemple:
await page.setActive();
Ajouter un gestionnaire d’événements
Lorsque vous surveillez la navigation de page d’un utilisateur dans un rapport, vous devez savoir quand un utilisateur modifie des pages. Pour ce faire, ajoutez un gestionnaire d’événements pour l’événement pageChanged
. Par exemple:
report.on('pageChanged', event => {
const page = event.detail.newPage;
console.log(page.name);
});
Pour plus d’informations sur les événements, consultez Comment gérer les événements.