One of the best functionalities of the Interactive Grid is declarative master-detail option. That's the reason why I like to use them also in readonly mode. Most of the time I don't need toolbar in detail regions so I turn it off (Region Attributes > Toolbar > Show = No).
But, currently (in APEX 5.1.4.00.04 and less) there's little bug that I can't ignore. It's 9px blank div above report headers:
I saw this at the presentation from Patrick Wolf (I believe somewhere in 2016.). You may already know this but today it took me some time to remember how it works.
There's an easy way to make your forms look nicer by using declarative option to display pre/post item property values as a part of an item (Display as Block). You can display icons, text or links there.
How ToTo enable this, go to the Template Options of the item and set property Item Pre/Post Text to Display as Block:
After that, put the following HTML code in Pre/Post Text item property (in this case it displays Euro currency icon):
Probably somebody did blog about it but I haven't found it yet.
If you didn't modified your Universal theme, by default, success and validation messages appear in the top right corner of a page and you have to close them manually or they disappear when you refresh/submit your page.
It can be confusing when you are on a page with Interactive Grid and you change something repeatedly and successfully - it seems like nothing happened.
It can be done by using theme hooks under apex.message namespace.
If you want that all your client side messages are hidden after 3 seconds you should call this code:
The ProblemIf you use Interactive Reports and Grids you may know that there's a property Fixed To that fixes the report's column headers to the top of the page or region so that the column headers remain visible as the user vertically scrolls the report. But there's no such option for Classic report regions or your custom HTML tables.
You can easily do it by using two JS widgets that are build into APEX - Sticky Table Header and Sticky Widget.
To add it to the Classic report region you have to create After Refresh dynamic action that fires after refresh of your Classic report region:
var vRegion$ = $(this.triggeringElement); vRegion$.setTableHeadersAsFixed(); vRegion$.find('.js-stickyTableHeader').stickyWidget();
Dynamic action should look like this:
Remember to set property Fire on Initialization to Yes.
For the additional options you can check out the file libraries/apex/widget.stickyWidget.js in APEX installation folder or through page source view when you're running your application in debug mode.
For custom HTML tables you can use the same principle and if your custom HTML table is not rendering dynamically fire the JS code above only on page load.
The demo is avaliable here. Enjoy! Tested on APEX 5.1.1.00.08
2) Unzip the file and upload autoNumeric.min.js (from dist folder) to your workspace (or application) files (Shared Components > Static Workspace/Application Files) or to your server file location.
Now you can use it in your APEX apps. To use it for all APEX number type items you can create onLoad dynamic action on the global page (in most apps this is page 0). Number type items have CSS class number_field so you can initialize AutoNumeric on it, for example:
To explicitly override defaults from the global page you can create onLoad dynamic action on the specific page (remember to put greater sequence id from the one on the page 0) and use the update method to change the default properties: