1
我的网格有很多行(例如1 000 000)。每行的高度可能是唯一的。但大多数行具有相同的高度。所以无法确定每一行的高度并获得总的网格高度。用不同的行高计算网格中的滚动条高度
我需要在此网格上实现平滑的垂直滚动,不仅可以跳过行,因为行可以高于可见区域。
我的解决办法是:行
- 获取数
- 每行被分为10份
- =>滚动条最大值为(行数)×10
- 从滚动我得到的位置:
- 第一个可见行=(滚动位置)/ 10
- 第一个可见行移动=(滚动位置)% 10
这项工作很好,如果所有的行都具有+ - 相同的高度。如果有一个高度为500像素的行,其他像素为25像素滚动看起来很糟糕。
有人建议如何更好的解决这个问题?
电网是在这里: http://img560.imageshack.us/img560/7775/scroll.png
从数据库装载1 000 000行仅用于求和总高度是无效的。 – weny
@weny:如果数据库未经常更新并始终以相同顺序显示,则可以将部分和存储在数据库中。对不起,但没有其他方法可以做到这一点(正确)。 – ybungalobill