Мое решение для чего-то подобного состоит в том, чтобы собрать наиболее важную информацию (все, что сразу же определит, о чем / о чём этот ряд) и поместить остальные в следующую строку в новую таблицу TD и внутреннюю таблицу. Скрыть / показать это с помощью JavaScript, и вы золотой.
Пример HTML
<tr>
<td>Joe</td>
<td>Jones</td>
<td>555-555-5555 (m)</td>
<td class="more">more..</td>
</tr>
<tr class='showme'>
<td class='showthis' colspan="4">
<h2>More info</h2>
<table>
<!-- yet more info here -->
</table>
</td>
</tr>
JQuery, чтобы заставить его работать
$("td.more").click(function(){
// don't hide/show the next TR itself, may cause cross-browser issues
$(this).closest("tr").next("tr.showme").find(".showthis").slideToggle();
});
Необходимый CSS
.showthis { display:none; }
/* you'll want to play with padding and such for open/close states, too */
Конечно, вы можете сделать его более сложным, но это основная функция.