PB中的Datawindow按页行滚动的应用设计【转载】

Powerbuilder中,当Datawindow所显示的数据超过一个数据窗口时,常常通过单击滚动条控件使Datawindow中的容上下滚动,这样有时带来许多不便,如从某行开始滚动到现在过去了几行或几页,往上或往下滚动几行或几页都不好掌握,Powerbuilder中提供了几种方法可以解决这些问题,例如,按Pageup、Pagedown、↑、↓。这里主要介绍通过定义按钮、使用滚动函数来解决这些问题。常用的滚动函数和语法。 

    用户在使用滚动条控件使数据滚动时,消息的传输由用户单击滚动条控件实现,使用函数和按钮使数据滚动时,消息的传输由用户单击按钮实现。常用的函数如下: 

    ScrollNextPage()    滚动到下一页

    ScrollNextRow()     滚动到下一行

    ScrollPriorPage()   滚动到前一页

    ScrollPriorRow()    滚动到前一行

    ScrollToRow()       滚动到某一行

    语法:

    Datawindowname. ScrollNextPage()

    Datawindowname.ScrollNextRow()

    Datawindowname.ScrollPriorPage()

    Datawindowname.ScrollPriorRow()

    Datawindowname.ScrollToRow()

    其中:Datawindowname为Datawindow在Powerbuilder的window下的控制名。如每按一次按钮cb_1,将数据窗口dw_1中的数据往下翻一页,在命令按钮cb_1的click描述中的输入:dw_1. ScrollNextPage() 等等。 

    实例程序 

    1、 建立一个应用库app.pbl。 

    2、 在这个应用库下建立一个应用app。在应用app的script中输入open(w_testscroll)。 

    3、 建立一个Datawindow:d_itemdata(选DataSouece为QuickSelect,PresentationStyle为Grid,数据表为前面提到的w_itemdata). 

    4、 按window按钮,新建window: w_testscroll。 

    5、 按window下Datawindow图标,选择新建的Datawindow:dw_itemdata,用鼠标把它置为适当大小;按OK(命令)按钮,建立两个命令按钮,其控制名分别为cb_1和cb_2。 

    6、 在按钮cb_1上击左键,选择name选项,将text后的none修改为下一页,击Script按钮,选择click事件,在编辑框输入:dw_1.ScrollNextPage()。同理在按钮cb_2上击左键,选择name选项,将text后的none修改为前一页,击Script按钮,选择click事件,在编辑框输入:dw_1.ScrollPriorPage()。 

    上述工作就绪后,按RUN图标出现所要的屏幕。当你按下一页按钮时数据向上滚动,当你按前一页按钮时,数据向下滚动。如果需要知道目前显示的是第几页,可以定义一个实例变量Ii_Count,初始值为1,每按一次按钮cb_1,Ii_Count = Ii_Count + 1,每按一次按钮cb_2,Ii_Count = Ii_Count - 1。

posted @ 2017-11-10 16:41  paxton  阅读(1367)  评论(0编辑  收藏  举报