Condividi tramite


Spostamento tra le 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 la navigazione personalizzata della pagina 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 di . Per restituire tutte le pagine di un report, chiamare il metodo getPages del report, che restituisce le pagine come insieme di oggetti Page. La raccolta di pagine viene restituita nello stesso ordine del report.

La classe report definisce il metodo come indicato di seguito:

getPages(): Promise<Page[]>

Per esempio:

let pages = await report.getPages();

Come spostarsi tra le pagine del report

Utilizzare l' Page e gli oggetti 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 metodo setPage di un oggetto Report per rendere una pagina esistente la pagina attiva di un report.

La classe report definisce il metodo come indicato di seguito:

setPage(pageName: string): Promise<void>

Per esempio:

await report.setPage("page2");

Attiva la pagina corrente

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

La classe Page definisce il metodo come indicato di seguito:

setActive(): Promise<void>

Per esempio:

await page.setActive();

Aggiungere un gestore eventi

Quando si monitora lo spostamento delle pagine di un utente in un report, è necessario essere consapevoli di quando un utente cambia pagine. A tale scopo, aggiungere un gestore eventi per l'evento pageChanged. Per esempio:

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

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