Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.
Hi all,
I'm embedding a Power BI report and have a button that will set the active page. Later I query the active page, but the original page is still set as active. Note that I do fetch the pages again using getPages(), so I'd expect to get the current values.
Code sample is below, it's very simple so I don't think I'm doing anything wrong (but I might well be!)
Any help apreciated.
Colin
var pageCodeName = "..." //name from somewhere, it is valid var report = powerbi.embed(...);
//button calls this function setThePage(){ //this sets the active page, I can see it switch correctly report.setPage(pageCodeName); //some time later, ask which page is active window.setTimeout(function(){ report.getPages().then(function(pages){ for(var i=0; i<pages.length; i++){ if(pages[i].isActive){
//this alerts the original page name, not the currently active one alert(pages[i].displayName); } } }); }, 10000); }
Hi @teroman,
Could you try using setActive() which makes the current page the active page of the report to see if it works in your scenario?
page.setActive();
Regards
Nope, that doens't work either, Page1 still has isActive = true.
If I show the nav pane and switch pages by clicking then the isActive property doesn't change either. Seems not to work at all for me.
New code to switch pages:
report.getPages().then(function(pages){ var reqdPage = null; for(var i=0; i<pages.length; i++){ if(pages[i].name)===pageName){ reqdPage = pages[i]; break; } } if(reqdPage){ return reqdPage.setActive(); } });
Hi @teroman,
In this scenario, I would suggest you create a new issue on Microsoft/PowerBI-JavaScript Issues for better assistance.
Regards
Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City
Check out the April 2024 Power BI update to learn about new features.
User | Count |
---|---|
12 | |
2 | |
2 | |
1 | |
1 |