cancel
Showing results for 
Search instead for 
Did you mean: 

Seeking Assistance with Fiori ListReport App Grid Table Multiselect Options

TedP
Explorer
0 Kudos
280

Hello,

I am currently in the process of developing a Fiori ListReport application and I am aiming to have my table type set as a grid table with multiselect options. I have been creating the ListReport using the Fiori ListReport template in Web IDE, and I am working with UI5 version 1.78.9.

Here is how my manifest.json for table settings is currently configured:

"tableSettings": {
              "type": "GridTable",
              "multiSelect": true,
              "selectAll": true
            }

When I preview the application using the "npm run start" command, everything appears to be in order and nothing seems to be missing. However, when I deploy the application, the checkboxes that should allow for the selection of records are nowhere to be found. It appears as though the table settings were not deployed correctly, as I am able to enable the multiselect option via the web DevTool console using the command: sap.ui.getCore().byId(GridTableName)._getSelectionPlugin().setSelectionMode('MultiToggle').

I have also attempted to resolve this issue by adjusting the table setting to "selectionMode": "MultiToggle" and upgrading the UI5 version, but neither of these solutions have resulted in any changes.

I am hopeful that someone in this forum may have some suggestions or insights that could assist me in resolving this issue.

Best regards,

 
View Entire Topic
TedP
Explorer
0 Kudos

Hey everyone,

Update: I might have found something. It seems like the HTML code for the checkboxes and classes for the table header isn't being generated. However, the multi-select setting exists in the deployed app version.

For anyone experiencing a similar issue, I've implemented this workaround in my controller:

onAfterRendering: function (oEvent) {
// Workaround for multi-select
var oTable = this._getTable();
oTable._getSelectionPlugin().setSelectionMode('MultiToggle');
},
_getTable: function () {
return this.byId("YourGridTable");
}

I'd appreciate any ideas on how to solve this problem more elegantly.