(
3) Если таблица очищается и заново заполняется, то наверно не как не избавится, потому что идет очистка и позиционирование в начало, потом заполнение, позиционирование остается, а потом уже установка текущей строки. Вот как-то так.
Можно попробовать не очищать, а дополнять, тогда по логике прыжков таких не должно быть.