If I were in your position, I would think about rendering the table in an iframe. This way, you can easily get the full size table you want, the user will have to scroll to see these columns. You can attach a keyPress event to an iframe and attach these keystrokes to scroll if you think this makes it easier for users.
The second option that I can think of is to make all the cells a little narrower so that there is some free space on the edge of the screen. Add a class to each element of the table, indicating which row it is on (this makes it easier to link to them together). Attach the click event to the table and use event.target to dial the cell (this will be less browser memory than attaching the event to each cell). This click event will then expand the width of this column to display all the data and add the class label to the corresponding cell in the first row. Then the next time the cell in this column is clicked, the table can check the first row, if it is expanded, and decide whether it should be reduced to the original or expanded. In such a large table, users are probably only interested in correlations between several columns at a time, this method has the advantage that only those columns that interest them expand at any given time.
The third and final option that I can think of is to use a modest div. Attach the click element, as in the last paragraph, but this time the event handler will create a div above the cell of interest that is large enough to contain all the text, and then make it disappear if this div is clicked.
The most appropriate solution depends on how users want to use the table data. If you want to use code snippets for any of the above suggestions, just write a comment and / or send me an email.
Good luck!;)
sillyMunky
source share