Возможно, вам потребуется предоставить более подробную информацию, но я сделаю попытку.
Таблица автоматически изменяет размер их содержимого, если вы не укажете атрибут ширины таблицы и тд ячеек. Так что это легкая часть.
Вопрос об отображении или скрытии строк, вероятно, требует более подробной информации. Если вы пытаетесь показать / скрыть от кода за / серверной стороны, вы можете сделать строку серверным элементом управления и установить его свойство Visible:
<tr runat="server" id="row1">
<td>Hi</td>
</tr>
А затем в коде позади установите свойство Visible
row1.Visible = false
Если вы хотите скрыть строку на стороне клиента, вы можете использовать javascript. Я оставлю это вам или другому вопросу, но, если вы скроете строку, используя javascript, таблица автоматически изменит свой размер, если строка, которая была удалена, имела самый широкий контент.