Skip to content Skip to sidebar Skip to footer

Scrollable HTML Table With Top Row And Left Column Frozen

Has anyone been able to implement a scrollable table in HTML where the TOP row and LEFT columns are frozen, but the rest of the table is scrollable? A perfect example of this is:

Solution 1:

There's a working example at http://ajaxian.com/archives/freeze-pane-functionality that should be easy to duplicate. Be sure to note the comments -- many of the users have made helpful suggestions for improving the script.

Per @Nirk's request, a direct link to the active demo is at http://www.disconova.com/open_source/files/freezepanes.htm.


Solution 2:

Go with a basic structure like this-

table
  row
    column (blank)
    column
      table (1 row high, column headers)
  row
    column 
      table (1 column wide, row headers)
    column
      div (fixed height & width, overflow auto)
        table (actual data)

Set a fixed table-layout and specify column widths in pixels explicitly. You should be able to achieve the same effect.


Solution 3:

i have a version of this in use (for a Gantt-chart style display).

it uses 3 tables: 1 for left column (the rows), 1 for top (columns), and then the data.

you need to work hard to get the cells to match sizes with the ones they match up to ( table layout-fixed can help achieve this).

The tables then are placed in some divs; the left and top divs have (as suggested above) height & width and overflow-auto in their css.

You then hook up some javascript to sync the scrolling of the left / top divs with the inner one...

As I recall there was a fair bit of 'curse-and-try-again', but it can be done with minimal js.

hth


Solution 4:

If you use jQuery there's a lot of plugins for tables with fixed head.


Solution 5:

You need Scrollable (jQuery plugin)

Demo is here


Post a Comment for "Scrollable HTML Table With Top Row And Left Column Frozen"