Advance your Data & AI career with 50 days of live learning, dataviz contests, hands-on challenges, study groups & certifications and more!
Get registeredGet Fabric Certified for FREE during Fabric Data Days. Don't miss your chance! Learn more
I have panel properties with selector : ISelectionId.getSelector()
in my table view i bind event click to define with row is selected by user and show some properties in panel properties using enumerateObjectInstances, the problem are when panel properties active/show and user click some row in table view because enumerateObjectInstances not called by power bi.
it any way to call enumeration by code? i need to refresh panel properties depend row selected
Solved! Go to Solution.
solve this case use persist object
public syncSelection(ids: ISelectionId[], row: number, col: number, selector: Selector) {
if (row == null) return;
let enumerationObject: powerbi.VisualObjectInstanceEnumerationObject = {
containers: [],
instances: [],
};
let persistProperties : VisualObjectInstancesToPersist;
if(row == -1){ // remove from format panel
this.settingDataPoint(enumerationObject, "dataPoint");
persistProperties = {
remove: enumerationObject.instances
}
}
this.selected.row = row;
this.selected.col = col;
this.selected.selected = ids[0];
this.selected.selectionId = ids;
this.selected.selector = selector;
if(row != -1) {
this.settingDataPoint(enumerationObject, "dataPoint");
persistProperties = {
replace : enumerationObject.instances
}
}
// console.log('ini coba persist', persistProperties);
this.host.persistProperties(persistProperties);
}but I still don't understand remove and removeObject how to use it, to confused
it is imposible to update format panel when user click some row in our view?
I try using this.host.refreshHostData(); this solve my problem when developing,
but this not working when we use pbiviz package because enumerateObjectInstances never called
solve this case use persist object
public syncSelection(ids: ISelectionId[], row: number, col: number, selector: Selector) {
if (row == null) return;
let enumerationObject: powerbi.VisualObjectInstanceEnumerationObject = {
containers: [],
instances: [],
};
let persistProperties : VisualObjectInstancesToPersist;
if(row == -1){ // remove from format panel
this.settingDataPoint(enumerationObject, "dataPoint");
persistProperties = {
remove: enumerationObject.instances
}
}
this.selected.row = row;
this.selected.col = col;
this.selected.selected = ids[0];
this.selected.selectionId = ids;
this.selected.selector = selector;
if(row != -1) {
this.settingDataPoint(enumerationObject, "dataPoint");
persistProperties = {
replace : enumerationObject.instances
}
}
// console.log('ini coba persist', persistProperties);
this.host.persistProperties(persistProperties);
}but I still don't understand remove and removeObject how to use it, to confused
Advance your Data & AI career with 50 days of live learning, contests, hands-on challenges, study groups & certifications and more!
Check out the October 2025 Power BI update to learn about new features.