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.