The sap.m.P13nDialog control provides a dialog to personalize tables, such as adapting the order of columns or filtering table content.
The P13nDialog control offers a personalization dialog and allows the consuming application to define various settings for tables using panels. The panels represent the settings on the user interface. In order to register them to the control, the sap.m.P13nPanel aggregation is used.
The following panels are available:
Defines the sorting in a column in an ascending or descending order.
Defines filter conditions for a column.
Defines the order of the columns in the table and their visibility.
Defines the grouping of columns.
The following buttons are available in the dialog:
Closes the personalization dialog.
The application consuming the P13nDialog control must in some cases, for example, when sorting and filtering, transfer the settings of the end user to the table.
Closes the personalization dialog.
All changes made by the end user in the currently opened dialog are rejected.
Personalization dialog remains open.
All changes made by the end user are set back to the initial state.
The P13nColumnsPanel control uses an instance of the m.Table control to visually represent the columns of the related table. All existing columns of the related table will be passed on to the P13nColumnsPanel control using the items aggregation.
In the P13nColumnsPanel control, the columnsItems aggregation is used to change the columns in a table, for example, if the end user changes the visibility of columns. If the end user clicks Select All in the dialog to make all available columns visible, and if the underlying table contains a large number of colums, this might cause performance to slow down. When this happens, the user receives a corresponding warning triggered by the visibleItemsThreshold property.
This property needs to be activated and set to the required value, such as '100', by the consuming application, to ensure that the warning message is shown when the user selects OK in the dialog, and the threshold of 100 columns has been exceeded.
The following picture shows how a SmartTable is placed in an XML view, where the visibleItemsThreshold property is set to 100.
<smartTable:customData> <core:CustomData key="p13nDialogSettings" value='\{"columns":\{"visible": true, "payload": \{"visibleItemsThreshold": 100\}\}\}'/> </smartTable:customData>