Freeze Table Headers.

N

Nico VanHaaster

Hello all.

There is what i would like to do, I have a page that pulls all the
hours for our staff over a given period calculated them and reports
back on 15 different colums and is aproximatly 500 individual rows of
data for a table. Now as you could imagine that is a night mare to look
at for anyone, i have done a few things to make remeber which columns
are which however a simple Solution would be to the top row, or rows i
define stay constantly at the top as your scroll down.

This is classic ASP and not ASP.NET, I can find alot of resources for
ASP.NET but nothing for ASP.

I have considered Frames, but who really wants to mess around with that
ad there are alot of controls at the top of the page that manipulate
the data.

Also i have heard of using JavaScript or CSS, Has anyone achieved this
before?

I am not sure if you need my code or not as this is just classic table
design

Thanks In Advance
 
M

Mike Brind

Nico said:
Hello all.

There is what i would like to do, I have a page that pulls all the
hours for our staff over a given period calculated them and reports
back on 15 different colums and is aproximatly 500 individual rows of
data for a table. Now as you could imagine that is a night mare to look
at for anyone, i have done a few things to make remeber which columns
are which however a simple Solution would be to the top row, or rows i
define stay constantly at the top as your scroll down.

This is classic ASP and not ASP.NET, I can find alot of resources for
ASP.NET but nothing for ASP.

I have considered Frames, but who really wants to mess around with that
ad there are alot of controls at the top of the page that manipulate
the data.

Also i have heard of using JavaScript or CSS, Has anyone achieved this
before?

Personally, I would consider paginating the results, but if you really
want to present 500 rows on a page then you could have a look at
http://underscorebleach.net/jotsheet/2004/12/frames-with-css-layout
which uses css to apply a framelike appearance. Apparently this
doesn't work in all browsers, so you might want to google about a bit.
If you are intent on a client-side solution (frames/javascript/css) you
would be better off taking your question to a more appropriate group.
 
E

Evertjan.

Nico VanHaaster wrote on 24 mei 2006 in
microsoft.public.inetserver.asp.general:
Hello all.

There is what i would like to do, I have a page that pulls all the
hours for our staff over a given period calculated them and reports
back on 15 different colums and is aproximatly 500 individual rows of
data for a table. Now as you could imagine that is a night mare to look
at for anyone, i have done a few things to make remeber which columns
are which however a simple Solution would be to the top row, or rows i
define stay constantly at the top as your scroll down.

This is classic ASP and not ASP.NET, I can find alot of resources for
ASP.NET but nothing for ASP.

I have considered Frames, but who really wants to mess around with that
ad there are alot of controls at the top of the page that manipulate
the data.

Also i have heard of using JavaScript or CSS, Has anyone achieved this
before?

This is not a serversode/ASP solution you are after,
so realy off-topic here.
Please continue on a clientside html or css NG

==========

Give the top row a seperate <table> and have the content rows
in a table with a fixed height, so that a scrollbar will develop if the
table row number exeeds the set height.
Specify each td width:??px; correctly and use table-layout:fixed; for these
tables.
 
V

vicky

Hi Nico,

Here is code for you.. Just modify it and its your.

<table border="1" width=500 cellpadding=0 cellspacing=0>
<tr>
<td width="25%">First</td>
<td width="25%">Second</td>
<td width="25%">Third</td>
<td width="25%">Fourth</td>
</tr>
<tr>
<td colspan="4">
<div style="position: absolute;height:227px;overflow:auto;">
<table width="500" border="1" ID="Table1" cellpadding=0
cellspacing=0>
<tr>
<td width="25%">1</td>
<td width="25%">2</td>
<td width="25%">3</td>
<td width="25%">4</td>
</tr>
<tr>
<td width="25%">1</td>
<td width="25%">2</td>
<td width="25%">3</td>
<td width="25%">4</td>
</tr>
<tr>
<td width="25%">1</td>
<td width="25%">2</td>
<td width="25%">3</td>
<td width="25%">4</td>
</tr>
<tr>
<td width="25%">1</td>
<td width="25%">2</td>
<td width="25%">3</td>
<td width="25%">4</td>
</tr>
<tr>
<td width="25%">1</td>
<td width="25%">2</td>
<td width="25%">3</td>
<td width="25%">4</td>
</tr>
<tr>
<td width="25%">1</td>
<td width="25%">2</td>
<td width="25%">3</td>
<td width="25%">4</td>
</tr>
<tr>
<td>1</td>
<td>2</td>
<td>3</td>
<td>4</td>
</tr>
<tr>
<td>1</td>
<td>2</td>
<td>3</td>
<td>4</td>
</tr>
<tr>
<td>1</td>
<td>2</td>
<td>3</td>
<td>4</td>
</tr>
<tr>
<td>1</td>
<td>2</td>
<td>3</td>
<td>4</td>
</tr>
<tr>
<td>1</td>
<td>2</td>
<td>3</td>
<td>4</td>
</tr>
<tr>
<td>1</td>
<td>2</td>
<td>3</td>
<td>4</td>
</tr>
<tr>
<td>1</td>
<td>2</td>
<td>3</td>
<td>4</td>
</tr>
<tr>
<td>1</td>
<td>2</td>
<td>3</td>
<td>4</td>
</tr>
<tr>
<td>1</td>
<td>2</td>
<td>3</td>
<td>4</td>
</tr>
<tr>
<td>1</td>
<td>2</td>
<td>3</td>
<td>4</td>
</tr>
<tr>
<td>1</td>
<td>2</td>
<td>3</td>
<td>4</td>
</tr>
</table>
</div>
</td>
</tr>
</table>
 
A

Anthony Jones

vicky said:
Hi Nico,

Here is code for you.. Just modify it and its your.

<table border="1" width=500 cellpadding=0 cellspacing=0>
<tr>
<td width="25%">First</td>
<td width="25%">Second</td>
<td width="25%">Third</td>
<td width="25%">Fourth</td>
</tr>
<tr>
<td colspan="4">
<div style="position: absolute;height:227px;overflow:auto;">
<table width="500" border="1" ID="Table1" cellpadding=0
cellspacing=0>
<tr>
<td width="25%">1</td>
<td width="25%">2</td>
<td width="25%">3</td>
<td width="25%">4</td>
</tr>
<tr>
<td width="25%">1</td>
<td width="25%">2</td>
<td width="25%">3</td>
<td width="25%">4</td>
</tr>
<tr>
<td width="25%">1</td>
<td width="25%">2</td>
<td width="25%">3</td>
<td width="25%">4</td>
</tr>
<tr>
<td width="25%">1</td>
<td width="25%">2</td>
<td width="25%">3</td>
<td width="25%">4</td>
</tr>
<tr>
<td width="25%">1</td>
<td width="25%">2</td>
<td width="25%">3</td>
<td width="25%">4</td>
</tr>
<tr>
<td width="25%">1</td>
<td width="25%">2</td>
<td width="25%">3</td>
<td width="25%">4</td>
</tr>
<tr>
<td>1</td>
<td>2</td>
<td>3</td>
<td>4</td>
</tr>
<tr>
<td>1</td>
<td>2</td>
<td>3</td>
<td>4</td>
</tr>
<tr>
<td>1</td>
<td>2</td>
<td>3</td>
<td>4</td>
</tr>
<tr>
<td>1</td>
<td>2</td>
<td>3</td>
<td>4</td>
</tr>
<tr>
<td>1</td>
<td>2</td>
<td>3</td>
<td>4</td>
</tr>
<tr>
<td>1</td>
<td>2</td>
<td>3</td>
<td>4</td>
</tr>
<tr>
<td>1</td>
<td>2</td>
<td>3</td>
<td>4</td>
</tr>
<tr>
<td>1</td>
<td>2</td>
<td>3</td>
<td>4</td>
</tr>
<tr>
<td>1</td>
<td>2</td>
<td>3</td>
<td>4</td>
</tr>
<tr>
<td>1</td>
<td>2</td>
<td>3</td>
<td>4</td>
</tr>
<tr>
<td>1</td>
<td>2</td>
<td>3</td>
<td>4</td>
</tr>
</table>
</div>
</td>
</tr>
</table>

This simple example appears to work but will fail in the real world because
the column widths in the 'header' table may well not match the column widths
in the 'body' table.
 
E

Evertjan.

Anthony Jones wrote on 29 mei 2006 in
microsoft.public.inetserver.asp.general:
This simple example appears to work but will fail in the real world
because the column widths in the 'header' table may well not match the
column widths in the 'body' table.

use:

table.t {table-layout:fixed;}

However I till fail to see the ASP-significance.
 
A

Anthony Jones

Evertjan. said:
Anthony Jones wrote on 29 mei 2006 in
microsoft.public.inetserver.asp.general:


use:

table.t {table-layout:fixed;}

Yes the solution you've already given is the only reliable one I've found so
far.
However I till fail to see the ASP-significance.

Yes you've said that already. If I were a computer I would probably just
ignore the message or throw an error. However as a human I can see how
someone could think that the question was relevant (even though there are
even better matches for the question).
 
V

vicky

Hi,
There will not be any problem, Just use this logic in loop to create
columns dynamically, and as the width's I have used in %, so will be
adjusted automatically.
 
E

Evertjan.

vicky wrote on 30 mei 2006 in microsoft.public.inetserver.asp.general:
There will not be any problem, Just use this logic in loop to create
columns dynamically, and as the width's I have used in %, so will be
adjusted automatically.

Please quote what you are replying to.

If you want to post a followup via groups.google.com, don't use the
"Reply" link at the bottom of the article. Click on "show options" at the
top of the article, then click on the "Reply" at the bottom of the article
headers. <http://www.safalra.com/special/googlegroupsreply/>
 
A

Anthony Jones

vicky said:
Hi,
There will not be any problem, Just use this logic in loop to create
columns dynamically, and as the width's I have used in %, so will be
adjusted automatically.

I'm not sure what it is that 'will not be a problem'. Fundamentally though
the column widths of 25% in your first header table and the 25% column
widths in second data table do not strictly have to be the same actual width
when resolved to pixels. Indeed with a pixel border your solution is
already slightly misalligned.
 
B

Bob Barrows [MVP]

Anthony said:
I'm not sure what it is that 'will not be a problem'. Fundamentally
though the column widths of 25% in your first header table and the
25% column widths in second data table do not strictly have to be the
same actual width when resolved to pixels. Indeed with a pixel
border your solution is already slightly misalligned.

Not to mention what happens when the scrollbar appears ...
 
B

Bob Barrows [MVP]

We weren't saying we couldn't do it ... just that it was not as easy as
you made it sound.
 
V

vicky

Hey, I was just trying to help, if my language made some
misunderstanding, then I am sorry.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,776
Messages
2,569,603
Members
45,189
Latest member
CryptoTaxSoftware

Latest Threads

Top