473,503 Members | 5,284 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

Table Widget for IE? Fixed header, sorting columns, etc

I'm looking for the best JS/CSS solution to add functionality to tables.
The only browser which needs to be supported is IE5.5+, but no activeX can
be used.

to be able to do:
- Fixed header row
- Data sorting (preferrably intelligently determining data type based on
content)
- If possible, locking the first column from scrolling

I've seen one solution at
http://web.tampabay.rr.com/bmerkey/e...olumn-csv.html which is
pretty good, but it uses a DIV that scrolls and puts the table within it,
making the header row move down as the DIV is scrolled. This works, but it's
not as elegant and simple as I'd like.

I wish IE would support tbody{scroll:auto} but we're not that lucky :(

--
Matt Kruse
http://www.JavascriptToolbox.com
Jul 23 '05 #1
17 3655
Matt Kruse wrote:
I'm looking for the best JS/CSS solution to add functionality to tables.
The only browser which needs to be supported is IE5.5+, but no activeX can
be used.

to be able to do:
- Fixed header row
- Data sorting (preferrably intelligently determining data type based on
content)
- If possible, locking the first column from scrolling
http://mickweb.com/football/aleague/profiles.html

Something like this?

Mick
I've seen one solution at
http://web.tampabay.rr.com/bmerkey/e...olumn-csv.html which is
pretty good, but it uses a DIV that scrolls and puts the table within it,
making the header row move down as the DIV is scrolled. This works, but it's
not as elegant and simple as I'd like.

I wish IE would support tbody{scroll:auto} but we're not that lucky :(

Jul 23 '05 #2
Matt Kruse wrote:
I'm looking for the best JS/CSS solution to add functionality to tables.
The only browser which needs to be supported is IE5.5+, but no activeX can
be used.
Curiosity - Why IE5.5+?
to be able to do:
- Fixed header row
There are examples in the archives. I will try to hunt them down this
afternoon if you cant find them.

It used the TBODY if I remember right. It was even cross-browser :)
- Data sorting (preferrably intelligently determining data type based on
content)
- If possible, locking the first column from scrolling
In IE, I think you are going to have to go to a second table, to hold
that first column to keep it from scrolling. Or, are you referring to
the rows?
I've seen one solution at
http://web.tampabay.rr.com/bmerkey/e...olumn-csv.html which is
pretty good, but it uses a DIV that scrolls and puts the table within it,
making the header row move down as the DIV is scrolled. This works, but it's
not as elegant and simple as I'd like.

I wish IE would support tbody{scroll:auto} but we're not that lucky :(

--
Randy
comp.lang.javascript FAQ - http://jibbering.com/faq
Jul 23 '05 #3
Mick White wrote:
http://mickweb.com/football/aleague/profiles.html
Something like this?


For purely sorting, that works. But it doesn't do it intelligently - it
requires a parameter to explicitly say what the data type is.

--
Matt Kruse
http://www.JavascriptToolbox.com
Jul 23 '05 #4
Randy Webb wrote:
Curiosity - Why IE5.5+?


Because the web app in which I'm needing to incorporate it is IE5.5+ only,
and already relies on many IE-specific functionalities. It's not an internet
app.
to be able to do:
- Fixed header row

There are examples in the archives. I will try to hunt them down this
afternoon if you cant find them.
It used the TBODY if I remember right. It was even cross-browser :)


I've had a hard time finding ones that work well. The one I referenced in my
earlier post, as it turns out, even breaks when I put a <form> tag on the
page. Renders it fairly useless ;)
- If possible, locking the first column from scrolling

In IE, I think you are going to have to go to a second table, to hold
that first column to keep it from scrolling. Or, are you referring to
the rows?


Nope, definitely column. And the example url does this also.

--
Matt Kruse
http://www.JavascriptToolbox.com
Jul 23 '05 #5
In article <ch*********@news1.newsguy.com>, ne********@mattkruse.com
enlightened us with...
I'm looking for the best JS/CSS solution to add functionality to tables.
The only browser which needs to be supported is IE5.5+, but no activeX can
be used.


Will this one do?

http://www.ipwebdesign.net/kaelisSpa...tableSort.html

You'd need to modify it for the first row thing.

--
--
~kaeli~
Why did kamikaze pilots wear helmets?
http://www.ipwebdesign.net/wildAtHeart
http://www.ipwebdesign.net/kaelisSpace

Jul 23 '05 #6
Matt Kruse wrote:
I'm looking for the best JS/CSS solution to add functionality
to tables. The only browser which needs to be supported is
IE5.5+, but no activeX can be used.

to be able to do:
- Fixed header row
- Data sorting (preferrably intelligently determining
data type based on content)
- If possible, locking the first column from scrolling

I've seen one solution at
http://web.tampabay.rr.com/bmerkey/e...olumn-csv.html
Yes, that doesn't work very well without activeX.
which is pretty good, but it uses a DIV that scrolls and puts
the table within it, making the header row move down as the
DIV is scrolled. This works, but it's not as elegant and
simple as I'd like.
I wrote a fixed header scrolling table recently (it is not IE 5.5+
only):-

<URL: http://litotes.demon.co.uk/example_s...bleScroll.html >

But trying to combine it with table sorting might get a bit involved as
it uses two clones of the original table so that the header cells are
the same dimensions as the corresponding rows/columns so it would
require re-ordering the rows in two table for the sorting, and the
re-assignment of the position reporting object for the cell that defines
the offsets for the various tables. It could be done but it wouldn't be
that fast on a big table.

Your desire to have the sort criteria 'intelligently' determined is
another of your attempts to be overly general. You will not manage to be
that general as I think you would have no choice but examine the cell
contents with a regular expression to see if it was a Date, number or
whatever. You would probably have to run through an entire column when
making that test and would still be forced to make many assumptions
about the format of the possible cell contents.
I wish IE would support tbody{scroll:auto} but we're not
that lucky :(


The scrolling TBODY approach doesn't work that well anyway. The problem
is that the TBODY will be as wide as the THEAD so when the TBODY
acquires a vertical scroll bar its contents overflow the remaining space
and a horizontal scroll bar appears. So you can scroll the TBODY
horizontally and so stop the columns lining up with their header cells.

Richard.
Jul 23 '05 #7
"Matt Kruse" <ne********@mattkruse.com> wrote in message
news:ch*********@news1.newsguy.com...
I'm looking for the best JS/CSS solution to add functionality to tables.
to be able to do:
- Fixed header row
- Data sorting (preferrably intelligently determining data type based on
content)
- If possible, locking the first column from scrolling

I've seen one solution at
http://web.tampabay.rr.com/bmerkey/e...olumn-csv.html which is pretty good, but it uses a DIV that scrolls and puts the table within it,
making the header row move down as the DIV is scrolled. This works, but it's not as elegant and simple as I'd like.

I believe the cited URL and this cross-browser variation
http://web.tampabay.rr.com/bmerkey/e...le-header.html

are as elegant and simple as it gets. Our teams have used it for years in
forms-based Web apps. Making CSS do most of that work makes all
scripting tasks, such as sorting, selection for further operations, and
filtering
large tables, a whole lot easier.

Not sure why putting a DIV around a table is a problem for you but I doubt
if you will find a robust script that "intelligently" figures out the data
type. It
is so much easier all around to give the script that information at the
outset.
After all, manually or thru database population, you know the datatype at
the outset. Why not pass on the info to the script?

If you put together something that does all you want, please post it.

Brett
Jul 23 '05 #8
Richard Cornford wrote:
I've seen one solution at
http://web.tampabay.rr.com/bmerkey/e...olumn-csv.html Yes, that doesn't work very well without activeX.


Actually, it works fine without ActiveX. The only thing X is used for is the
data population. If you take that out and put in static data, it works fine,
and purely via CSS.
I wrote a fixed header scrolling table recently (it is not IE 5.5+
only):-
<URL: http://litotes.demon.co.uk/example_s...bleScroll.html >
Cannot find server or DNS Error
Your desire to have the sort criteria 'intelligently' determined is
another of your attempts to be overly general.
No it's not. Don't be obtuse.
You will not manage to
be that general as I think you would have no choice but examine the
cell contents with a regular expression to see if it was a Date,
number or whatever. You would probably have to run through an entire
column when making that test and would still be forced to make many
assumptions about the format of the possible cell contents.
Actually, I was thinking of just looking at the first 3-5 values. If they're
all numeric, use numeric sort. If they match \d+/\d+/\d+ then use date. Etc,
etc. If all else fails, fall back to alphanumeric sort. It should handle
most common cases.
The scrolling TBODY approach doesn't work that well anyway. The
problem is that the TBODY will be as wide as the THEAD so when the
TBODY acquires a vertical scroll bar its contents overflow the
remaining space and a horizontal scroll bar appears.


overflow-x:hidden;

--
Matt Kruse
http://www.JavascriptToolbox.com
Jul 23 '05 #9
Matt Kruse wrote:
Richard Cornford wrote:
I've seen one solution at
http://web.tampabay.rr.com/bmerkey/e...olumn-csv.html

Yes, that doesn't work very well without activeX.


Actually, it works fine without ActiveX. The only
thing X is used for is the data population. If you
take that out and put in static data, it works fine,
and purely via CSS.


Fair enough, its not much of a demonstration without the data.
I wrote a fixed header scrolling table recently (it is not IE 5.5+
only):-
<URL: http://litotes.demon.co.uk/example_s...bleScroll.html >


Cannot find server or DNS Error


Sorry, I forgot the www from the front:-

<URL: http://www.litotes.demon.co.uk/examp...bleScroll.html >
Your desire to have the sort criteria 'intelligently' determined
is another of your attempts to be overly general.


No it's not. Don't be obtuse.
You will not manage to be
that general as I think you would have no choice but examine
the cell contents with a regular expression to see if it was
a Date, number or whatever. You would probably have to run
through an entire column when making that test and would
still be forced to make many assumptions about the
format of the possible cell contents.


Actually, I was thinking of just looking at the first 3-5 values.
If they're all numeric, use numeric sort. If they match
\d+/\d+/\d+ then use date. Etc, etc. If all else fails,
fall back to alphanumeric sort. It should handle most common
cases.


That is quite an assumption.
The scrolling TBODY approach doesn't work that well anyway. The
problem is that the TBODY will be as wide as the THEAD so when the
TBODY acquires a vertical scroll bar its contents overflow the
remaining space and a horizontal scroll bar appears.


overflow-x:hidden;


And with CSS?

Richard.
Jul 23 '05 #10
On Wed, 1 Sep 2004 10:49:41 -0500, "Matt Kruse"
<ne********@mattkruse.com> wrote:
I'm looking for the best JS/CSS solution to add functionality to tables.
The only browser which needs to be supported is IE5.5+, but no activeX can
be used.

to be able to do:
- Fixed header row
- Data sorting (preferrably intelligently determining data type based on
content)

Doesn't your sorting JS routine help you?

http://www.mattkruse.com/javascript/sorttable/

HTH lol

Al.
- If possible, locking the first column from scrolling

I've seen one solution at
http://web.tampabay.rr.com/bmerkey/e...olumn-csv.html which is
pretty good, but it uses a DIV that scrolls and puts the table within it,
making the header row move down as the DIV is scrolled. This works, but it's
not as elegant and simple as I'd like.

I wish IE would support tbody{scroll:auto} but we're not that lucky :(


Jul 23 '05 #11
Harag wrote:
Doesn't your sorting JS routine help you?
http://www.mattkruse.com/javascript/sorttable/
HTH lol


Nah, that's ancient and only around for NS4-supporters who still need
client-side sorting.
Which probably doesn't even exist as a requirement for anyone anymore, so
I'll go ahead and remove it when I get time...

--
Matt Kruse
http://www.JavascriptToolbox.com
Jul 23 '05 #12
On Thu, 2 Sep 2004 09:02:50 -0500, "Matt Kruse"
<ne********@mattkruse.com> wrote:
Harag wrote:
Doesn't your sorting JS routine help you?
http://www.mattkruse.com/javascript/sorttable/
HTH lol


Nah, that's ancient and only around for NS4-supporters who still need
client-side sorting.
Which probably doesn't even exist as a requirement for anyone anymore, so
I'll go ahead and remove it when I get time...

No don't remove it... replace it :) when you find a cool sorting
script please list it.

Al.
Jul 23 '05 #13
JRS: In article <ch*********@news1.newsguy.com>, dated Wed, 1 Sep 2004
16:13:36, seen in news:comp.lang.javascript, Matt Kruse
<ne********@mattkruse.com> posted :

Actually, I was thinking of just looking at the first 3-5 values. If they're
all numeric, use numeric sort. If they match \d+/\d+/\d+ then use date. Etc,
etc.


\d+/\d+/\d+ may be sufficient to suggest a date; but \d+-\d+-\d+ also
should suggest a date. One should not disregard US Federal standards,
even if they match international ones.

But that is not sufficient information to enable a sort.

The field order can be YMD, DMY, or MDY; which it is may be evident on
closer inspection, or may remain uncertain.

The year may be YYYY or YY; in the latter case, it will generally need
to be windowed into YYYY before sorting.

If the field is a sensible date, it can be sorted as a string; hence it
does not need to be recognised.

BTW, not only can YYYY-MM-DD be sorted as string, but YYYY-WW-D can.

--
© John Stockton, Surrey, UK. ?@merlyn.demon.co.uk Turnpike v4.00 MIME. ©
Web <URL:http://www.merlyn.demon.co.uk/> - w. FAQish topics, links, acronyms
PAS EXE etc : <URL:http://www.merlyn.demon.co.uk/programs/> - see 00index.htm
Dates - miscdate.htm moredate.htm js-dates.htm pas-time.htm critdate.htm etc.
Jul 23 '05 #14
Matt Kruse wrote:
Mick White wrote:
http://mickweb.com/football/aleague/profiles.html
Something like this?

For purely sorting, that works. But it doesn't do it intelligently - it
requires a parameter to explicitly say what the data type is.

It would be easy enough to distinguish between String and Number. Just
test the first entry in the column, and select the appropriate sort
function. You can add your own rules for dates, heights, etc.
Mick
Jul 23 '05 #15
Mick White wrote:
Matt Kruse wrote:
Mick White wrote:
http://mickweb.com/football/aleague/profiles.html
Something like this?


For purely sorting, that works. But it doesn't do it intelligently - it
requires a parameter to explicitly say what the data type is.

It would be easy enough to distinguish between String and Number. Just
test the first entry in the column, and select the appropriate sort
function. You can add your own rules for dates, heights, etc.


That won't work.

var s='1 day at a time';

Number or String?
--
Randy
comp.lang.javascript FAQ - http://jibbering.com/faq
Jul 23 '05 #16
Mick White wrote:
Matt Kruse wrote:
Mick White wrote:
http://mickweb.com/football/aleague/profiles.html
Something like this?


For purely sorting, that works. But it doesn't do it intelligently - it
requires a parameter to explicitly say what the data type is.

It would be easy enough to distinguish between String and Number. Just
test the first entry in the column, and select the appropriate sort
function. You can add your own rules for dates, heights, etc.
Mick


That won't work.

var s='1 day at a time';

Number or String?

--
Randy
comp.lang.javascript FAQ - http://jibbering.com/faq
Jul 23 '05 #17
Randy Webb wrote:
Mick White wrote:
It would be easy enough to distinguish between String and Number. Just
test the first entry in the column, and select the appropriate sort
function. You can add your own rules for dates, heights, etc.

That won't work.

var s='1 day at a time';

Number or String?


Neither, it's the start of a Baptist Hymn....
Mick

Jul 23 '05 #18

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

6
2879
by: Margaret MacDonald | last post by:
It appears that the 'table.field' dot notation is not preserved by php's mysql library. I can create some join 'SELECT a.id, b.id FROM table1 AS a, table2 AS b' but when I try to refer to the...
9
6212
by: johkar | last post by:
I only have IE 6 and dial-up. Can you help me determine which browsers support this code? Thanks, John <html> <head> <title>Fixed Table Headers</title> <script language="JavaScript"...
2
3177
by: Mel | last post by:
Scrollable table widget with fixed header is there such thing ? thanks, Mel
0
1495
by: Tim N. van der Leeuw | last post by:
Hi, I need to display some hierarchical data, and because I don't want to force users to install too many things beyond Python itself, I'm hoping to use Tix which is at least included with...
10
2184
by: Omar | last post by:
I'm looking for a programming language or module that sorta looks and feels like MS Excel (I love and think in tables), yet has the power and open-endedness of python or javascript. I'm still...
7
4796
by: Kamal | last post by:
Hello all, I have a very simple html table with collapsible rows and sorting capabilities. The collapsible row is hidden with css rule (display:none). When one clicks in the left of the...
1
5185
by: MissMarie | last post by:
I've been playing around with DIV tables in myspace to better learn how to rewrite my own code for my business site without having to pay someone to design it. I've tried embedding a slideshow into...
5
13726
by: Romulo NF | last post by:
Greetings, I´m back here to show the new version of the drag & drop table columns (original script ). I´ve found some issues with the old script, specially when trying to use 2 tables with...
5
4902
by: jrod11 | last post by:
hi, I found a jquery html table sorting code i have implemented. I am trying to figure out how to edit how many colums there are, but every time i remove code that I think controls how many colums...
0
7194
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
7449
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...
0
5566
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing,...
1
4993
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new...
0
4666
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and...
0
3160
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The...
0
3148
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
0
1495
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated ...
0
372
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.