"RC" <raymond.chui@nospam.noaa.gov> wrote in message
news:dn4d5k$g64$1@news.nems.noaa.gov...[color=blue]
> Dear Dudes,
>
> I post this in multiple groups for opening brain storm.
>[/color]
Big mistake! It is bad Usenet netiquette to crosspost to many different
newsgroups on the same problem, especially such diverse ones. The netiquette
people are going to be all over you....
[color=blue]
> Sometime I need to query the data from database server then display them
> into user's browser in HTML <table>. But if the <table> is very LARGE,
> let's say 20 columns, hundreds rows. Usually you have header <th> tags
> on 1st (top) row and 1st (most left) column. For a such LARGE <table>.
> you really want:
>
> 1) When scroll the vertical scroll bar, you want the top row header
> <thead> stay in the same position, the rest of rows are move up/down
> (this will include the most left column).
>
> I am success doing this part.
>
> 2) When you scroll the horizontal scroll bar, you want the most left
> column stay in the same position, the rest of columns are move
> left/right (this will include the top header row).
>
> I don't know how to do this part, need to borrow your brain for help!
> Thank Q very much in advance!
>
> You can check out my test page from
>
>
http://amazon.nws.noaa.gov/hads/test/15C2C420.html
>
> Here is basicly what I do
>
> <html><title>Scrollable Table</title><head>
> <script language="JavaScript">
> var preRow = null;
> function changeRow(thisRow) {
> if (preRow != null)
> preRow.bgColor = "white";
> thisRow.bgColor = "cyan";
> preRow = thisRow;
> }
> </script>
> <style type="text/css">
> tbody { max-height: 30em; overflow: auto; }
> th { background-color: lightgrey; }
> th.left { background-color: cyan; }
> </style></head><body>
>
> <table border=1 width="100%">
>
> <thead>
> <tr><th class="left">col1,row1</th>..... <th>coln,row1</th></tr>
> </thead>
>
> <tbody>
> <tr onClick="changeRow(this)">
> <th class="left">col1,row2</th><td>col2,row2</td>......
> <td>coln,row2</td></tr>
> ....
> ....
> <tr onClick="changeRow(this)">
> <th class="left">col1,rown</th><td>col2,rown</td>......
> <td>coln,rown</td></tr>
>
> </tbody>
> </table></body></html>
>
> I prefer doing this by CSS, HTML/DHTML/XDHTML, XML and little
> Javascript. Java <applet> Swing JTable will be last resource,
> because user has different browser, some not support Java 1.x.[/color]
Then I strongly suggest that you keep your problem out of the
comp.lang.java.* newsgroups until you have thoroughly explored CSS,
HTML/DHTML/XDHTML, XML and Javascript to see if they can help you with your
problem.
I certainly don't want to be bothered trying to show you how this problem
can be solved via Java if you don't want to use Java in the first place.
[color=blue]
> And load large data into *.jar for <applet> will take time.
>[/color]
You don't normally load data of the kind you are describing into jars. It is
much more common to access data from databases like MySQL or DB2 via JDBC,
rather than storing the data in jars. After all, the data will presumably be
changing regularly so you will always want to access the "latest and
greatest" data; the best place to do that is in a database.
[color=blue]
> I did some Google search, I found two sites doing this by JavaScript.
> But I prefer not to load huge file, run the JavaScript on client site.
> I prefer load plain text HTML from server. Of cource, I'll keep mind
> open use JavaScript grid as 2nd choice.
>
> Here are those two good sites:
>
>
http://www.activewidgets.com/
>
> Above site the most left column is label in sequence row number, like
> preadsheet. Not very good.
>
>
http://www.theopensourcery.com/jsgrids.htm[/color]
I am relatively sure that the behaviour you want can be accomplished fairly
easily in Java via JTables but I am not going to waste time describing this
if you don't want to use Java in the first place.
Why don't you try the other approaches first, then come back to
comp.lang.java.gui if the other approaches don't work to your satisfaction?
Rhino