当前位置: 首页 > 学习 > 电脑学习 > 程序设计 > PowerBuliden > 脚本与技巧 > 正文

在PB中应用灵活多样的排序

http://www.zk168.com.cn  招考学习网 2006-4-6 16:06:10
-----------------------------------------------------------[交流]-[打印]-[发送]-[收藏]--
---- PowerBuilder是许多数据库开发人员熟悉的开发工具,也是许多程序开发人员急需了解和使用的数据库前端开发工具。尤其是它的数据窗口,能很好地展现各种数据。同时,PowerBuilder也是基于Windows的图形用户界面,因此操作非常方便,熟悉Windows的用户一定对资源管理器不陌生,当目录或文件很多时,当然会想到使用排序来尽快定位目标,你只要用鼠标在资源管理器上端的name、size、type或modified中的任意一项点击,它就会将此项按升序或降序排列。同样地,在PowerBuilder中,如果数据比较多,我们也可以采用这种办法来排序以尽快查找记录。
一、实现原理
---- 数据窗口提供了Clicked事件,当用户使用鼠标点击某列的标题时,我们可以通过参数(dwo.Name)来获得当前点击的对象,经过适当处理可得到当前点击的列,然后根据连续点击该列的奇偶数来决定用升序或降序排列记录。二、实现细节
---- 1、先设计一个数据窗口和窗口以及一些必要的按钮,设计好的窗口。
---- 2、要实现这样的排序功能,定义两个实例变量String pre_col=“”和Int click_time=0,他们分别记录上次点击的列和点击同一列的奇偶数。然后在dw_1的Clicked事件中添加如下脚本:

String clicked_pos,col,format
Long il_pos
clicked_pos = dwo.Name //取点击的对象
il_pos = Pos(clicked_pos,'_t') //对于列标题,
取得的对象是列名+”_t”
If il_pos >0 Then
col = Left(clicked_pos,il_pos -1)
If col=pre_col Then
If click_time=0 Then
click_time = 1
format = col+" A"
Else
click_time=0
format = col+" D"
End If
Else
click_time = 0
format = col+" A"
End If
pre_col = col
dw_1.SetSort(format)
dw_1.Sort()
End If

---- 3、采用上面的方法可实现象Windows中资源管理器灵活排序的功能。实现的结果所示(按Last Name降序排列)。
三、结束
---- 象这些看似虽小的功能,但是它能给我们开发的程序带来许多方便,让我们的程序功能更丰富,更强大,让用户充分享受图形用户界面带来的形象直观、方便好用、功能强大等好处。
-----------------------------------------------------------[交流]-[打印]-[发送]-[收藏]--
最新入库:
 
·实质、过程及意义——阿多尔诺“否定的辩证法”探微
·从Ontology的译名之争看哲学术语的翻译原则
·论马克思主义哲学经典的解释——解释学方法及其在马克
·中国哲学当前的核心与周边问题
·和合学与21世纪文化价值和科技
·中国文化的和合精神与21世纪
·宗教之间理当相互宽容
·上半个世纪的自由主义
·殷周至春秋时期神人关系之演进
·大学之道:构建以“三纲八目”为核心的道德修养体系
相关内容:
 
·BOG压缩机在液化石油气基地的应用
·LFCB-102型微波分相差动保护的应用
·基于PB6和ORACLE8开发“劳动信息管理系统”
·利用TDC组件实现对WEB页面的交互操作
·关于SBS改性沥青配合比设计及施工技术的探讨
·PowerBuilder的分布式计算技术及其应用
·PowerBuilder和MapInfo的集成开发技术
·基于Visual Basic快速开发现场电视监控系统
·PBX濒临被取代的危机—论程控交换机的生存与发展
·ASP技术访问WEB数据库 2
网友点评:
 
会员名称:
密码:匿名 ·注册·忘记密码?
评论内容:
(最多300个字符)
  查看评论
友情提醒:
 1.库中的资料大都来自互联网、网友上传、各类书籍,在录入的过程中难免会出现错误,恳请网
 友来信指正!
 2.如果网友在本库中未能找到所需要的材料,请登陆到我们的论坛《招考学习网》版块!
 3.考友想加入招考学习网的编辑部,请发信到XueXiWang#Gmail.com(#改为@)附带个人简历
 4.如需转载请注明出处及作者,谢谢合作!
 5.如果您有更好的建议或意见请EMAIL:XueXiWang#Gmail.com (#改为@)
 6.凡标题中有注有“[NO]”字样均不含答案且答案整理中.
 7.如本库中转载文章涉及版权等问题,请相关网站或作者在两周内发邮件通知(EMAIL:  XueXiWang#Gmail.com (#改为@))我们,我们接到通知后立即删除该文章及链接!
你问我答 更多>>