当前位置: 代码迷 >> PB >> 跪求专家解答,十分急
  详细解决方案

跪求专家解答,十分急

热度:29   发布时间:2016-04-29 07:35:01.0
跪求专家解答,非常急!!
我用数据窗口做一个滚动屏,一屏有8行,用的这个VerticalScrollPosition控制滚动行,一次滚动一行,滚动到最后还有8行时,能不能一直向上滚动,不间断,就是最后一行变成第一行,这样一直不间断滚动
------解决方案--------------------
听不懂你意思
能不能说明白一点
什么叫最后一行变成第一行,你直接网上滚不就得了
而且你最后也未必刚好剩8行呀
------解决方案--------------------
引用:
不管最后是不是剩8行,一共有10行,一屏有8行,比如说最后还有2行,到第十行后,接着滚第一行

把第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

------解决方案--------------------
引用:
我用数据窗口做一个滚动屏,一屏有8行,用的这个VerticalScrollPosition控制滚动行,一次滚动一行,滚动到最后还有8行时,能不能一直向上滚动,不间断,就是最后一行变成第一行,这样一直不间断滚动


这个是做不到的,不过你可以换个思路,用两个数据窗口来实现。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
  相关解决方案