Disclaimer: я рассматриваю данную задачу только как сугубо-теоретическую, просто для развлечения, потому как не вижу смысла в реальной ситуации подгонять размеры. Абслютно бесполезная трата времени.
Интуиция мне подсказывает, что всякие "ресайзы" (я вообще только что узнал, что оказывается есть такой метод

) и попытки вручную задать размеры контролов - это путь в никуда. Даже пробовать и думать в этом направлении не буду. Так что, как вариант, в неких случая (я же всей вашей задачи и ситуации не вижу) пойдет такой финт: добавить в таблицу некое поле, NoYes, например. Пусть у всех строк будет это поле равно NoYes::No, а у одной, которая будет означать суммарную строку Total, куда при любом изменении будет записываться суммарные значения, оно будет равно NoYes::Yes. Делаем, чтобы новая запись в гриде создавалась всегда над той строкой, где стоит курсор, а в любой квери по датасорсу добавляем, чтобы в выборку строка Total всегда попала, плюс упорядочиваем по этому самому фиктивному полю. Вуалля. Строка Total всегда будет последней.