Share via


Struttura di navigazione pagine

Quando si carica un report di Power BI in un'applicazione, è possibile usare le API client di Power BI per spostarsi tra le pagine del report. Ad esempio, è possibile impostare la pagina predefinita o modificare una pagina in modo dinamico. In questo modo è possibile creare una struttura di spostamento pagina personalizzata in modo che corrisponda al marchio. È anche possibile modificare automaticamente le pagine in base a criteri impostati per mostrare a un utente determinati oggetti visivi e informazioni.

Ogni pagina di un report è rappresentata da un oggetto Page . Per restituire tutte le pagine di un report, chiamare il metodo del getPages report, che restituisce le pagine come insieme di Page oggetti. L'insieme di pagine viene restituito nello stesso ordine del report.

La classe Report definisce il getPages metodo come segue:

getPages(): Promise<Page[]>

Ad esempio:

let pages = await report.getPages();

Come spostarsi tra le pagine del report

Usare gli oggetti Page e Report nell'applicazione per spostarsi tra le pagine del report, come illustrato negli esempi di codice nelle sezioni seguenti.

Impostare la pagina attiva

Utilizzare il setPage metodo di un Report oggetto per rendere una pagina esistente la pagina attiva di un report.

La classe Report definisce il setPage metodo come segue:

setPage(pageName: string): Promise<void>

Ad esempio:

await report.setPage("page2");

Rendere attiva la pagina corrente

Utilizzare il setActive metodo di un Page oggetto per assicurarsi che la pagina sia sempre valida per un determinato report. Per ottenere Page oggetti, chiamare getPages su un Report oggetto .

La classe Page definisce il setActive metodo come segue:

setActive(): Promise<void>

Ad esempio:

await page.setActive();

Aggiungere un gestore eventi

Quando si monitora lo spostamento delle pagine di un utente in un report, è necessario tenere presente quando un utente modifica le pagine. A tale scopo, aggiungere un gestore eventi per l'evento pageChanged . Ad esempio:

report.on('pageChanged', event => {
    const page = event.detail.newPage;
    console.log(page.name);
});

Per altre informazioni sugli eventi, vedere Come gestire gli eventi.

Passaggi successivi