Forum Discussion

JohnTheDoe's avatar
JohnTheDoe
Frequent Visitor
8 years ago
Solved

Select with SelectionManager by rows instead of by category

In my dataview I have a table where each row contains 3 columns. Is there a way for me to tell the Selection Manager to select the a specific row in the DataView? 

 

I've learned how to do it by category, which is quite simple and useful, but I'm at a loss on how to do it by rows from a given table in the DataView.

  • To select data by row you should generate a SeletionId for each row by ushing this code:

     

    /** This is TypeScript method */
    private static getSelectionIds(dataView: DataView, host: IVisualHost): powerbi.visuals.ISelectionId[] {
        return dataView.table.identity.map((identity: DataViewScopeIdentity) => {
            const categoryColumn: DataViewCategoryColumn = {
                source: dataView.table.columns[0],
                values: null,
                identity: [identity]
            };
    
            return host.createSelectionIdBuilder()
                .withCategory(categoryColumn, 0)
                .createSelectionId();
        });
    }

    After that, you will be able to use SelectionManager to select particular rows.

     

    Ignat Vilesov,

    Software Engineer

     

    Microsoft Power BI Custom Visuals

    [email protected]

2 Replies

  • v-viig's avatar
    v-viig
    Community Champion

    To select data by row you should generate a SeletionId for each row by ushing this code:

     

    /** This is TypeScript method */
    private static getSelectionIds(dataView: DataView, host: IVisualHost): powerbi.visuals.ISelectionId[] {
        return dataView.table.identity.map((identity: DataViewScopeIdentity) => {
            const categoryColumn: DataViewCategoryColumn = {
                source: dataView.table.columns[0],
                values: null,
                identity: [identity]
            };
    
            return host.createSelectionIdBuilder()
                .withCategory(categoryColumn, 0)
                .createSelectionId();
        });
    }

    After that, you will be able to use SelectionManager to select particular rows.

     

    Ignat Vilesov,

    Software Engineer

     

    Microsoft Power BI Custom Visuals

    [email protected]

    • Anonymous's avatar
      Anonymous
      Not applicable

      Hi,  identity: DataViewScopeIdentity is not working anymore. Do you any suggestions ?