I'd like to represent a grid of "scores", with two coordinates : "system" and "location". The score is a numeric value between 0 and 5, while the two others coordinates are strings.
I have to represent this as a IE7-Compatible HTML table, however I'm facing many problems :
As the headers ("location") are strings, they take much more place than the cells (numeric), and so I lose much space (especially because location strings can be pretty long). So there is the matter :
I'd like to be able to rotate my headers.
I was able to do this, using various jQuery plugins (the one used in screenshots is this one), it worked in various navigators (see here) but none of them worked in IE7 (see here)
Without jQuery, using
filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3);
I was able to rotate the text, but its container was still not adapting to the new size (see here) : the width was not reduced and the height not increased. So, using this :
table tr:first-child { height: 200px; }
I fixed the first row height (which is not perfect, cause I cannot know how long the cell contents are going to be, but still...), but this did not change the cell width : see here. Using this :
table tr:first-child td { width: 30px; }
Did not change anything, the width was still as large as it needed to be before the rotate.
Now, I would like to know if there is a way to make this work under IE7, if possible without fixed heights/widths (like here). Also, maybe there is another way to represented my data than an HTML table :
- Maybe a scatter plot with vertical legends
- Using a big jQuery grid plugin, like jqGrid : however, I need to find one that can rotate table headers
- Using PNGs in replacement of the text headers. However, I may have more than 400 columns in my table, would that be efficient ?
To summarize, here are my questions :
- Is there any jQuery grid plugin, compatible with IE, capable of rotating headers ?
- Is it possible to make this work in IE using CSS or even Javascript ?
Thank you,
PS: My restriction is to be IE-compatible (at least IE7, better IE6 but if that's not possible, that's not possible.), not to avoid using JavaScript. When I can I try not to use it, but if needed, it will be available on the client machines. However, the JS libs I use still need to be IE7 compatible.