Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
6 years ago
Solved

how to call enumerateObjectInstances by code

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 en...
  • Anonymous's avatar
    Anonymous
    6 years ago

    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