IWETHEY v. 0.3.0 | TODO
1,095 registered users | 0 active users | 0 LpH | Statistics
Login | Create New User
IWETHEY Banner

Welcome to IWETHEY!

New Whats the best way to do this?
A CFO I know called and asked me the following question:

"I have an Excel workbook with very large Excel Worksheets. When I'm using Excel, I use the 'freeze panes' windows option so I can lock the first column of each worksheet and the column headers. That way, I know what I'm looking at as I scroll down and across the worksheets. I want to publish this workbook to our Intranet site, but when I 'Save as Web Page', the 'freeze pane' feature vanishes. How do I save the workbook as a web page and retain the 'freeze pane' feature?"

I'm no web-goob, so I hit the MS KB and it says to use the ActiveX control and 'add interactivity'. I suggested that to the CFO, but he didn't like how the page appeared. He wants a standard HTML table that can be scrolled like he does in Excel.

Before I start horsing around with Frames and a bunch of Javascript (which I barely know) I was wondering if anyone knew an easier way?

Anybody done this? Their shop is exclusively MS/IE.

Any help appreciated.

bcnu,
Mikem
New Nevermind.
This site shows me how to do it.

[link|http://www.webreference.com/dhtml/column17/index.html|http://www.webrefer...7/index.html]
New I've always avoided Active-X
You could use a bit of DHTML. Make a scroll pane (<div style='overflow:auto'>) to hold the data and have the column headers written just above it. Of course, getting the registration right between the divisions can be a real pain.
New Just for thoroughness...
...And because I'm playing around with html validation at the moment, here's an example of using an overflow for the problem. The hardest part is that you need to set the widths in either absolute or relative distance units (%).

Note to Scott: I don't know if it's by design or a bug, but zIWETHEY won't accept DIV or SPAN tags - it treats them as literals. Might be just as well since the two really aren't supposed to be used within a table.

++++++++++++++++++++++++++++++++++++++++++++++++++++++

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<title>test</title>
</head>
<body>
<div id='titles'>
<table width='225' border='1'>
<tr>
<td width='75'>Column A</td>
<td width='75'>Column B</td>
<td width='75'>Column C</td>
</tr>
</table>
</div>
<div id='data' style='width:242; height:100; overflow:auto;'>
<table width='225' border='1'>
<tr>
<td width='75'>1</td>
<td width='75'>2</td>
<td width='75'>3</td>
</tr>
<tr>
<td width='75'>4</td>
<td width='75'>5</td>
<td width='75'>6</td>
</tr>
<tr>
<td width='75'>7</td>
<td width='75'>8</td>
<td width='75'>9</td>
</tr>
<tr>
<td width='75'>1</td>
<td width='75'>2</td>
<td width='75'>3</td>
</tr>
<tr>
<td width='75'>4</td>
<td width='75'>5</td>
<td width='75'>6</td>
</tr>
<tr>
<td width='75'>7</td>
<td width='75'>8</td>
<td width='75'>9</td>
</tr>
<tr>
<td width='75'>1</td>
<td width='75'>2</td>
<td width='75'>3</td>
</tr>
<tr>
<td width='75'>4</td>
<td width='75'>5</td>
<td width='75'>6</td>
</tr>
<tr>
<td width='75'>7</td>
<td width='75'>8</td>
<td width='75'>9</td>
</tr>
</table>
</div>
</body>
</html>
New OT: div and span.
It doesn't know what they are. It also doesn't understand style= parameters. And BTW, the HTML checking is a Zope thing.

Wade.

"All around me are nothing but fakes
Come with me on the biggest fake of all!"

New The html checking is zIWETHEY
Scott said that he just dropped in the code from old discussions. He should be able to easily add new tags and attributes to what is accepted.

Cheers,
Ben
New Oh can he?
I seem to remember him saying he couldn't do that...

Wade.

"All around me are nothing but fakes
Come with me on the biggest fake of all!"

New It shouldn't be a problem
He might need to edit code then restart the server to do it, but the change should be fairly easy.

In [link|http://z.iwethey.org/forums/render/content/show?contentid=1069|this description] he said that it was the functional code he used. However the design of that code reduces all of your tags and valid attributes to a small configuration section, edit that and away you go. In fact the way that code was designed it would be possible for different users to say they wanted different parsing shortcuts available or not, and it would work. Just throw the appropriate group of things into that configuration before you start parsing the post.

So he definitely is able to add a few more tags. Now whether he has time to do so is another story entirely...

Cheers,
Ben
New Have ability, not time right now.
Regards,

-scott anderson
New It was nice when you didn't have a job...
New That's one reason I haven't been requesting stuff.

"All around me are nothing but fakes
Come with me on the biggest fake of all!"

New Thanks. Anyway to "freeze" column A at the same time?
New Take 2
The following should work under IE4.x and later. May have problem on other browsers because (a). TABLE elements being nested within SPAN elements are not officially supported by the standards; (b). I don't think the ONSCROLL event is standard.

For the most part, I just made everything 75 units wide, with a height of 150. Unfortunately, the scrollbar itself occupies space, so I had to compensate by 15 pixels in some places to get it to register correctly.

+++++++++++++++++++++++++++++++++++++++++++++++++++++++
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<html>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=ISO-8859-1' />
<title>test</title>
<script language='JavaScript' type='text/javascript'>
function myScroll() {
document.all.columns.scrollLeft = document.all.data.scrollLeft;
document.all.freezedata.scrollTop = document.all.data.scrollTop;
return true;
}
</script>
</head>
<body>
<div>
<span id='freezecolumn' style='width:75;'>
<table height='40' width='75' border='1'>
<tr>
<td width='75'>Column A</td>
</tr>
</table>
</span>
<span id='columns' style='width:150; overflow:hidden;'>
<table height='40' width='225' border='1'>
<tr>
<td width='75'>Column B</td>
<td width='75'>Column C</td>
<td width='75'>Column D</td>
</tr>
</table>
</span>
</div>
<div>
<span id='freezedata' style='width:75; height:150; vertical-align:top; overflow:hidden;'>
<table width='75' border='1'>
<tr>
<td width='75'>1</td>
</tr>
<tr>
<td width='75'>4</td>
</tr>
<tr>
<td width='75'>7</td>
</tr>
<tr>
<td width='75'>1</td>
</tr>
<tr>
<td width='75'>4</td>
</tr>
<tr>
<td width='75'>7</td>
</tr>
<tr>
<td width='75'>1</td>
</tr>
<tr>
<td width='75'>4</td>
</tr>
<tr>
<td width='75'>7</td>
</tr>
</table>
</span>
<span id='data' style='width:165; height:165; overflow:auto;' onscroll='myScroll();'>
<table width='225' border='1'>
<tr>
<td width='75'>1</td>
<td width='75'>2</td>
<td width='75'>3</td>
</tr>
<tr>
<td width='75'>4</td>
<td width='75'>5</td>
<td width='75'>6</td>
</tr>
<tr>
<td width='75'>7</td>
<td width='75'>8</td>
<td width='75'>9</td>
</tr>
<tr>
<td width='75'>1</td>
<td width='75'>2</td>
<td width='75'>3</td>
</tr>
<tr>
<td width='75'>4</td>
<td width='75'>5</td>
<td width='75'>6</td>
</tr>
<tr>
<td width='75'>7</td>
<td width='75'>8</td>
<td width='75'>9</td>
</tr>
<tr>
<td width='75'>1</td>
<td width='75'>2</td>
<td width='75'>3</td>
</tr>
<tr>
<td width='75'>4</td>
<td width='75'>5</td>
<td width='75'>6</td>
</tr>
<tr>
<td width='75'>7</td>
<td width='75'>8</td>
<td width='75'>9</td>
</tr>
</table>
</span>
</div>
</body>
</html>
New THANKS AGAIN!
     Whats the best way to do this? - (mmoffitt) - (13)
         Nevermind. - (mmoffitt)
         I've always avoided Active-X - (ChrisR) - (11)
             Just for thoroughness... - (ChrisR) - (10)
                 OT: div and span. - (static) - (6)
                     The html checking is zIWETHEY - (ben_tilly) - (5)
                         Oh can he? - (static) - (4)
                             It shouldn't be a problem - (ben_tilly) - (3)
                                 Have ability, not time right now. -NT - (admin) - (2)
                                     It was nice when you didn't have a job... -NT - (ben_tilly)
                                     That's one reason I haven't been requesting stuff. -NT - (static)
                 Thanks. Anyway to "freeze" column A at the same time? -NT - (mmoffitt) - (2)
                     Take 2 - (ChrisR) - (1)
                         THANKS AGAIN! -NT - (mmoffitt)

Swiftly thereafter, Choco Taco Delight.
116 ms