«Правильный» способ сделать это, безусловно, собрать данные при их вводе!
Одна из самых больших проблем с подходом, который вы предлагаете, состоит в том, что для больших таблиц он просто не будет работать, потому что, если ячейка табличного представления находится вне экрана, вы не можете получить к ней доступ или к элементам управления / представлениям, которые она содержит (и это может даже не существовать еще!).