TcxGrid, CellAutoHeight и ползунок ScrollBar

Джурджулешты
Дата: 19.05.2011 11:21:59
Теоретический вопрос.

Есть Квантум-грид с ячейками, содержащими текст разного размера.
Если текст не влазит в обычный размер ячейки, то высота ячейки увеличивается, "подгоняется" под текст. Высота строки, содержащей ячейки, становится равной высоте самой большой ячейки в этой строке.

Мне интересно, как в таком случае Квантум-грид рассчитывает размер ползунка на своем скролл-баре?
Чтобы показать "правильный" размер ползунка, очевидно, нужно "знать" высоту каждой строки в столбце, соответственно вычисляется общая сумма всех высот, и зная общую сумму высот, можно пересчитать размер ползунка.

Причем Квантум-грид достаточно шустро ресайзится вместе с формой, на которой он "лежит", даже если строк различной высоты существует очень много, около 100 тыс. Вряд ли грид, меняя свои размеры в ран-тайме, действительно пересчитывает выстоты всех 100 тыс. строк, даже на средней машине это занимает много времени. Тем не менее, грид отображает, похоже, "правильный" ползунок при любом размере себя.

Подскажите трюк, "как они это делают"? Там как-то хитро реализован "расчет высоты" ползунка, но как? Ломаю голову третий день.
softmaker
Дата: 19.05.2011 11:29:27
На что оно тебе? Глянь сырцы если найдёшь.
Наиболее вероятный результат: пофиг на высоту, главное количество! Коэффициент = строк_видно / строк_всего
DimaBr
Дата: 19.05.2011 11:39:29
И ещё один стотысячестроквыводитель, кому это нужно ???
Джурджулешты
Дата: 19.05.2011 11:47:49
Иногда нужно
DimaBr
Дата: 19.05.2011 12:01:20
Нормальным людям никогда не нужно. Нужно тем кто не умеет пользоваться запросами и работает через TTable
Джурджулешты
Дата: 19.05.2011 13:29:21
DimaBr
Нормальным людям никогда не нужно. Нужно тем кто не умеет пользоваться запросами и работает через TTable
C чего ты взял, что я вообще использую СУБД? Что ты вообще знаешь о моей задаче? Так не расписывайся тогда за "нормальных людей", плиз )))

Я же говорю, "теоретический вопрос". Интересны мнения.