We have implemented a SmartTable and everything is working fine. I would like to remove only the Filter option provided by SmartTable useTablePersonalisation option.
Is this Possible ?
Regards, Mayank
You can remove the filter (and all other options) from the SmartTable's embedded P13nDialog via customData as shown in this SAPUI5 Explored Sample: P13nDialog with disabled 'Filter' tab - Variation.
SmartTableWithoutFilterOption.view.xml
<core:View xmlns:core="sap.ui.core" xmlns="sap.ui.comp.smarttable"
xmlns:html="http://www.w3.org/1999/xhtml"
xmlns:customData="http://schemas.sap.com/sapui5/extension/sap.ui.core.CustomData/1"
controllerName="my.namespace.SmartTableWithoutFilterOption">
<SmartTable
tableType="ResponsiveTable" header="A bunch of data"
enableAutoBinding="true" entitySet="RecordSet"
customData:p13nDialogSettings='{filter:{visible:false}}' />
</core:View>
Please note that you need to declare the xmlns:customData namespace for the customData:p13nDialogSettings property to work.
But you can also use the longer customData aggregation notation.
SmartTableWithoutFilterOptionLongNotation.view.xml
<core:View xmlns:core="sap.ui.core" xmlns="sap.ui.comp.smarttable"
xmlns:html="http://www.w3.org/1999/xhtml"
controllerName="my.namespace.SmartTableWithoutFilterOptionLongNotation">
<SmartTable
tableType="ResponsiveTable" header="A bunch of data"
enableAutoBinding="true" entitySet="RecordSet">
<customData>
<core:CustomData
key="p13nDialogSettings"
value='\{
"filter": \{ "visible": false}
}' />
</customData>
</SmartTable>
</core:View>
To hide the other options use columns, sort or group instead of filter.
You can also combine these settings to hide more than one option. The following code will only allow filtering.
<core:CustomData
key="p13nDialogSettings"
value='\{
"columns": \{ "visible": false},
"sort": \{ "visible": false},
"group": \{ "visible": false}
}' />