Recommendations for JavaScript table component?

I

Ian Sykes

I'm writing a web application which has the following requirements for
the presentation of tabular data in HTML to users:

* Columns and rows can be re-sized by dragging the mouse

* Internal vertical scrolling is implemented, with column headers
remaining fixed during scrolling

* Works with Internet Explorer and Netscape. Compatibility with
additional browsers is highly desirable.

* Each column has its own rule for formatting its cells. Cell
formatting rules can be a function of the value in the cell.

* The last row's contents can be formatted as a special case. (This
will enable a row that presents aggregated data such as totals to be
visually differentiated from the other rows.)

* The table should have an event-generating selection model which
allows multiple rows to be in the selected state concurrently.

* Responsiveness with large data sets (i.e. for 15 columns and 250
rows, taking less than one second to render or process user input and
re-render)

* Cells can contain images

* Columns can be re-ordered by dragging the mouse

* Columns in the data model can be hidden

* Tooltips can be made to appear for all cells, including column
header cells and row header cells


What I'm hoping is that there is some 3rd party JavaScript component
that can generate the tables for me. Can anybody recommend such a
component?

Thanks in advance,

Ian
 
M

McKirahan

Ian Sykes said:
I'm writing a web application which has the following requirements for
the presentation of tabular data in HTML to users:
[snip]

* Works with Internet Explorer and Netscape. Compatibility with
additional browsers is highly desirable.

Which versions on which O/S'?

What if JavaScript is turned off?
 
Z

Zifud

Ian said:
I'm writing a web application which has the following requirements for
the presentation of tabular data in HTML to users:

* Columns and rows can be re-sized by dragging the mouse

Not possible, unless you want to put it in a frame and let users change
the size of the frame. But that won't change individual columns, just
the whole lot in proportion.
* Internal vertical scrolling is implemented, with column headers
remaining fixed during scrolling

Possible using frames, the whole table could scroll with headers &
footers fixed.
* Works with Internet Explorer and Netscape. Compatibility with
additional browsers is highly desirable.

Hmmm. Depends.
* Each column has its own rule for formatting its cells. Cell
formatting rules can be a function of the value in the cell.

One or the other is possible, but the combination may require some
complex logic that might be nasty in a big table. Think CSS.
* The last row's contents can be formatted as a special case. (This
will enable a row that presents aggregated data such as totals to be
visually differentiated from the other rows.)

Possible, but requires work with CSS to make reasonable.
* The table should have an event-generating selection model which
allows multiple rows to be in the selected state concurrently.

Depends what you mean by "selected". If you mean highlighted by
changing the colour, etc. then yes. If you mean selected as in for
copy and paste, no. Again, CSS comes into it.
* Responsiveness with large data sets (i.e. for 15 columns and 250
rows, taking less than one second to render or process user input and
re-render)

Highly unlikely. Particularly as you don't specify what the page sizes
are or what is in the 3,750 cells.
* Cells can contain images
Yes.

* Columns can be re-ordered by dragging the mouse
No.

* Columns in the data model can be hidden
Yes.

* Tooltips can be made to appear for all cells, including column
header cells and row header cells
Yes.


What I'm hoping is that there is some 3rd party JavaScript component
that can generate the tables for me. Can anybody recommend such a
component?

I'm sure there are hundreds that claim to do some of what you want, but
probably none that are worth buying and certainly none that will do it
all.
Thanks in advance,

Ian

Most of what you ask for can be done, however to put it all together in
one massive 15x250 cell table would kill any client desktop I know of.
And it is highly unlikely that it would look at all graceful or work
across a reasonable variety of browsers.

Try Java with the assistance of one of the web-enabled database
development environments. Alternatively, look at Flash remoting or
similar technologies - but you will likely end up with an OS specific
application that must be ported to different platforms.

Good luck - Zif.
 
J

Joakim Braun

Zifud said:
Not possible, unless you want to put it in a frame and let users change
the size of the frame. But that won't change individual columns, just
the whole lot in proportion.
<snip>

You can set the "width" attribute of a table column node using DOM (with
browser version caveats). If you have a "spacer" column in the header that
is clicked to resize the two adjoining columns (like in spreadsheets), the
resulting click->drag->interactively resize sequence shouldn't be too
difficult to implement.

Joakim Braun
 
I

Ian Sykes

McKirahan said:
Ian Sykes said:
I'm writing a web application which has the following requirements for
the presentation of tabular data in HTML to users:
[snip]

* Works with Internet Explorer and Netscape. Compatibility with
additional browsers is highly desirable.

Which versions on which O/S'?

What if JavaScript is turned off?

The bare minimum is that the component is compatible with IE 5.5 on
Windows. Compatibility with other browsers is desirable, particularly
on Windows and especially IE 5.0.

I'm effectively in control of the users' machines, so JavaScript is
guaranteed to be enabled.

Ian
 
I

Ian Sykes

Joakim Braun said:
<snip>

You can set the "width" attribute of a table column node using DOM (with
browser version caveats). If you have a "spacer" column in the header that
is clicked to resize the two adjoining columns (like in spreadsheets), the
resulting click->drag->interactively resize sequence shouldn't be too
difficult to implement.

Joakim Braun


No, it's definitely possible. For example, look at
http://www.uolweb.com/webgrid.aspx. The snag is that I haven't yet
found a 3rd party component, free or commercial, that has all of the
functionality that I need... ;-)

Ian
 

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,769
Messages
2,569,580
Members
45,054
Latest member
TrimKetoBoost

Latest Threads

Top