Freeze Column & Headers Plugin

I recently had this requirement for freezing the column and header on a Classic Report, just the way you can with Excel. The report had too many columns and once you scroll horizontally or vertically you would loose track of the information you’re seeing.

It turns out freezing the header is pretty straight forward and it’s even out of the box functionality on the Interactive Reports, but not for Classic Reports.
If you only need to freeze the headers, just head over to Marko Gorički’s blog “How to make any table header sticky” and be done with it.

However, freezing columns is a completely different technique from freezing a header, or it requires special markup. Ideally, I didn’t want to create a Custom Template (even though, you know, I’m a big fan).

After some discussions and good advice from my buddy Vincent Morneau, I began scouring the interwebs for a suitable solution.

This JSFiddle https://jsfiddle.net/RMarsh/bzuasLcz/3/ seemed very promising and easy to adapt to Oracle APEX Universal Theme markup.

It seemed to me that I had to adjust selectors. So table became table.t-Report-report, thead became table.t-Report-report thead, and so on. You get the idea.

Then, after a working prototype, I saw the opportunity to bundle everything in a nifty easy to use APEX Plugin. You can find the plugin in apex.world and Github https://github.com/rimblas/apex-freeze-col-headers. Maybe you will find it useful.

View Demo

Using it is dead simple:

  1. Create an “After Refresh” Dynamic Action on the Classic Report you want to “freeze”.
  2. For the True Action select “Insum Freeze Headers & Column”
  3. Make sure “Fire on Initialization” is Yes.
  4. Don’t specify an affected element; the plugin uses this.triggeringElement

Hi, I'm Jorge Rimblas. Father, husband, photographer, Oraclenerd, Oracle APEX expert, Oracle ACE, coffee lover, car guy, gadget addict, etc... I'm a Senior APEX Consultant with Insum Solutions, a consulting firm specialized in Oracle databases and the APEX development tool. I have worked with Oracle since 1995 and done eBusiness Suite implementations and customizations. Nowadays I specialize almost exclusively in Oracle APEX.

11 comments on “Freeze Column & Headers Plugin
  1. Azzeddine says:

    Thank you Jorge, greate as usual.!

  2. Thanks for doing this. It has always been such a pain to do this. :)

  3. Nivetha says:

    Hi,
    Please suggest a method to achieve this in Interactive Report in APEX 5.1

    Thanks,
    Nivetha

    • Sorry, that’s going to be pretty complex, and it’s not something I have time to work on at the moment. The complexity, of course, is to not break the built-in functionality of an IR.

  4. Rob says:

    Hey Jorge,

    Nice little plugin! Agree would be great to be able to freeze more than one column, especially if the first column is being used as a checkbox.

    Would it be much effort to implement?

    Thanks,
    Rob

  5. Surya says:

    Hi Jorge,

    Is this feature I can implement in Interactive report as well.
    If Yes then please let me know the steps.

    I am using Apex 5.1.0.4 version.

  6. Sarah Elhagry says:

    Hello
    Does this work with 5.1?
    Thanks in advance

1 Pings/Trackbacks for "Freeze Column & Headers Plugin"
  1. […] 7. Freeze Column & Headers Plugin […]

I love comments, write me a line