Hi Ehdoranil
ich hab mal ein wenig rumprobiert.
Die colspan Angaben bringen den Browser wohl bei der Spaltenbreitenberechnung durcheinander. Mit
<table class="tree" border="1">
<colgroup>
<col width="5">
<col width="30">
<col width="40">
<col width="90">
</colgroup>
<tr>
<td colspan="2" class="data0">company</td>
<td class="last"> </td>
</tr><tr>
...
</table>
kannst du ihm auf die Sprünge helfen. Die col-Angaben (in Pixel oder Prozent) passen sich dem Inhalt an.
Wenn dir das nicht zusagt, kannst du mit CSS
<table stlye="table-layout:fixed;"> in das Rendering des Browsers eingreifen, musst dann aber einige width-Angaben vorgeben.
Hab's erstmal nur mit IE und Opera 8 getestet. Den Feinschliff überlassse ich dir ;-)
Gruss
Heiko