So I am making some pretty decent progress with treetable. The idea of tree 
table is that it is a combined tree and table. A multi-column tree, or a table 
with nested rows.

The idea is to have tree, table and treeTable all based on the same class as 
tree and table are just simpler (single column and un-nested) versions of 
treeTable. (And so is listbox really)

I am trying to strike a balance between proofing features to make sure they 
will work and not leaving too many odd tasks lying around. It took me a while 
to get the general setup of the control going but it seems to be ok right now. 
There are a few remaining sizing issues that a browser specific (for example on 
IE if you don't fix the height it is really tall; on Mozilla if you drag to the 
right the table will slide off the screen) but for the most part it works 
fairly well. I am trying to accomplish all of the following layout-related 
things:

1. User does not have to fix the width or height of table or individual 
columns/rows.

2. Top headers scroll horizontally with table but don't scroll vertically. (Are 
always displayed at top of visual portion of table)

3: Users can add/remove rows on the fly, change cell contents, etc.

4: Avoid a system like Dojo has for some components where component will not 
resize correctly unless you specifically tell it that the size has changed.

 

I think things like column-sorting and row selection will not be too bad as 
they are basically logical operations that don't interact too much with the 
browser. The layout stuff is tricky because it does interact a lot with the 
peculiarities of different implementations and weird HTML things. I tried a lot 
of different combinations of HTML controls until I found one that works well in 
both Mozilla and IE.

The table sample under widgets has a treeTable people can mess with. It is 
*far* from production quality but the basics work. It scrolls correctly, you 
can expand/contract nodes, etc. It isn't really usable but it should give 
people an idea of what I am going for.

 

James Margaris

 

Reply via email to