Дык я и делюсь с начала ветки - а ты говоришь, что "для себя уже все решил"
На самом деле позиционирование на номер индекса, а тем более в условиях визуальной компоненты - это не проблема.
Посмотри, как сейчас сделан быстрый поиск для ТЗ - а ведь никто на скорость не жалуется!
Посмотри метод "КоличествоСтрок" - разве он неэффективен?
Надо делать нетупого поставщика, который не каждый раз с нуля позиционируется на позицию в индексе, а использует известные ему предыдущие значения - это очень эффективные операции.
Нужно учесть, что ТП не выбирает строки произвольно, а итерирует с некоторой позиции.
Операции "в конец", "в начало" - как я уже отметил, также реализуются очень эффективно.
Будет вопрос - что делать с позицией в индексе, которую будет возвращать метод ТП::ТекущаяСтрока.
Думаю, некий сервис пересчета позиции в индексе в номер строки ИТ и обратно решит все проблемы.