我用数据窗口做一个滚动屏,一屏有8行,用的这个VerticalScrollPosition控制滚动行,一次滚动一行,滚动到最后还有8行时,能不能一直向上滚动,不间断,就是最后一行变成第一行,这样一直不间断滚动
------解决方案--------------------
听不懂你意思
能不能说明白一点
什么叫最后一行变成第一行,你直接网上滚不就得了
而且你最后也未必刚好剩8行呀
------解决方案--------------------
把第1行和第2行也显示到最后页里面吗?
如果这时再向下拖动滚动条,还要显示第3-10 + 1-2 行?
------解决方案--------------------
TIMER():
Long ll_dwhorizontalpost
String Ls_HorizontalMax
Ls_HorizontalMax = dw_1.Describe( 'DataWindow.VerticalScrollMaximum')
IF ll_dwhorizontalpost > long (Ls_HorizontalMax ) THEN
ll_dwhorizontalpost = 1
ELSE
ll_dwhorizontalpost = il_dwhorizontalpost + 4
END IF
dw_1.Modify("DataWindow.VerticalScrollPosition='"+ String (ll_dwhorizontalpost) +"'")
Return
------解决方案--------------------
这个是做不到的,不过你可以换个思路,用两个数据窗口来实现。dw_scroll是滚动屏数据窗口,dw_data是数据窗口,使用dw_data获取数据,然后复制8条记录到dw_scroll中,每次滚动删除dw_scroll的第1行,再插入第8行即可。代码范例如下:
dw_data.retrieve()
for i = 1 to dw_data.rowcount()
dw_scroll.setredraw(false)
dw_data.rowscopy(i,i,primary!,dw_scroll,9,primary!)
if dw_scroll.rowcount() > 8 then dw_scroll.deleterow(1)
dw_scroll.setredraw(true)
...这里加上延时的代码
next