Wading through the JavaEE ocean!!

ADF like many other frameworks comes with its own set of restrictions and limitations. As a developer, some of these look like obvious functionality that ADF should’ve provided OOTB. Unfortunately, for whatever reason, these limitations exist and the end user may not necessarily agree to “live with it”.

Thankfully some of these may be solved using ADF Skins and often a bit of CSS magic.

Here are a few limitations and their hacky solutions

1) af:inputListOfValues does not allow control of pop-up width.

What this means is that if your LOV results table contains more than a few columns, the user will have to scroll horizontally to view all the data.Luckily there is a skin selector you can use.

af|inputListOfValues::dialog {
min-width:500px !important;
}

The !important override is necessary because ADF renders the component with an inline min-width style.

2) af:inputListOfValues does not allow toggling on/off the basic and advanced modes.

This was quite annoying as my LOV VO was really a programmatic VO that queried LDAP. I did not want to have to support all the matching operators that the Advanced mode made available to the user.

This is a hacky CSS that will hide the mode button. This turns the mode button off for a specific instance of inputListOfValues – this is controlled by the id* CSS selector.