У меня есть сетка с большим количеством строк (например, 1 000 000).Высота каждого ряда может быть уникальной.Но большинство рядов имеет одинаковую высоту.Поэтому невозможно определить высоту каждой строки и получить общую высоту сетки.
Мне нужно реализовать плавную вертикальную прокрутку по этой сетке, а не только перепрыгивать через строку, потому что строка может быть выше видимой области.
Мое решение:
- получить количество строк
- каждая строка разделена на 10 частей
- => максимальное значение полосы прокрутки равно (количество строк) * 10
- из позиции прокрутки я получаю:
- первая видимая строка = (позиция прокрутки) / 10
- смещение первой видимой строки = (позиция прокрутки)% 10
Это прекрасно работает, если все строки имеют + - одинаковую высоту.Если есть одна строка высотой 500 пикселей, а другая имеет 25 пикселей, прокрутка выглядит ужасно.
Кто-нибудь предлагал, как лучше решить эту проблему?
Сетка здесь: http://img560.imageshack.us/img560/7775/scroll.png