Join us at FabCon Atlanta from March 16 - 20, 2026, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.
Register now!The Power BI Data Visualization World Championships is back! Get ahead of the game and start preparing now! 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
The Power BI Data Visualization World Championships is back! Get ahead of the game and start preparing now!
| User | Count |
|---|---|
| 3 | |
| 3 | |
| 2 | |
| 2 | |
| 1 |
| User | Count |
|---|---|
| 4 | |
| 4 | |
| 4 | |
| 3 | |
| 3 |