I would like to represent a table containing a large amount of information in such a way that I can (a) use scrollbars and (b) have table headings that don't scroll off the screen [just like the Free Panes option in Excel].
headings = Table["Col" <> ToString[i], {i, 1, 10}];
data = Table[RandomReal[], {j, 1, 100}, {i, 1, 10}];
Pane[TableForm[Insert[data, headings, 1]], {400, 300}, Scrollbars -> True]
The code above gives me the scrollbars with an option to adjust the size of the viewing field, but it's not obvious to me how to make the headings stay on the screen. (I'm ignoring rowheadings for the moment, to keep the problem simple, but I would like persistent row headings as well at some point.)
I'm not wedded to Pane or TableForm for that matter. The key components that I'm looking for are an adjustable field size (manipulating the {400,300} in the above example), scrollbars and persistent headings.

