Externalizing Column Size, Sort Order, Width Preferences


I’ve yet another exciting requirement from my users - For one of the tables in their home page, useres want to check and uncheck the columns that are displayed in the table, set the width of the columns either as % or pixels and specify the sort order of the columns.

All this has to be customizable. The pereferences of the users will be persisted.

I understand that when we create a Table or Asynch Table, the properties mentioned, are not sensitive to users and are design time.

Is there a way to externalize these properties… Any idea? how these display and expert properites can be externalized?

Also wanted to know if I can use

#{objectName.fieldName} for all properties of the UI controls [except id and other few … which have syntax restrictions on them.

I typically use this notation if I need to substitute a runtime value in the HTML but can i try this for properties such as ‘width’, height etc…?

Thanks in advance

You could use portlet preferences. When creating a preference you will need to choose User scope, this way preference value will be stored per user. Then you could bind respective table properties to preference values and implement an additional UI for the user to view/update them.