有一个表,有很多数据,要求显示的时候滚动条的初始位置停在最底下,就是
MSFlexGrid1.TopRow = .Rows
但是发现,只有rows小于100的时候结果正确,当大于100的时候,滚动条的初始位置就停在100条的位置不动了。也就是说即使有1000条记录,还是停在100条的位置上。请问这个问题怎么解决?有没有什么替代的方法?
我想用自动滚屏的方法,但是不好用,根本不动,不知道什么原因。
Public   Const   WM_VSCROLL   =   &H115   
Public   Const   WM_HSCROLL   =   &H114   
Public   Const   SB_LINEDOWN   =   1   
Public   Const   SB_PAGEDOWN   =   3   
Public   Const   SB_VERT   =   1   
Declare   Function   SendMessage&   Lib   "user32"   Alias   "SendMessageA"   (ByVal   hwnd   As   Long,   ByVal   wMsg   As   Long,   ByVal   wParam   As   Long,   lParam   As   Long)
SendMessage (  MFGridPrv.hwnd,   WM_VSCROLL,   SB_PAGEDOWN,   1   )
按理说可以翻一页,但是不好用啊。
请高手帮忙!有礼了!

解决方案 »

  1.   

    看看属性设置中的rows是否是100,改大该属性
      

  2.   

    我已经手动试过了,当从数据库中取出的数据的行数,也就是rows小于100的时候,滑动块能停在滚动条的最下端,当数据大于100的时候就停在滚动条的中间的某个位置。数据越多就越靠上。比如说有110条,滑动块就停在滚动条底稍微靠上一点的地方,如果有1000条,滑动块就基本停在距滑动条顶上一点点的地方了。怎么回事呢,求高手赐教。