pb数据窗口排序的改进(多列排序)
2009-04-27 17:36
375 查看
---- 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降序排列)。 三、结束 ---- 象这些看似虽小的功能,但是它能给我们开发的程序带来许多方便,让我们的程序功能更丰富,更强大,让用户充分享受图形用户界面带来的形象直观、方便好用、功能强大等好处。 |
相关文章推荐
- PB中通过单击数据窗口中的列来对数据进行排序
- PB中实现数据窗口动态排序的三种方法
- pb中数据窗口中的行怎么实现通过拖拉行来改变顺序?不是按照字段排序
- PB数据窗口实现点击标题栏字段时按相应字段升/降序排序
- pb数据窗口下拉数据窗口列的排序(翻译)
- PB实现数据窗口的动态排序
- PB对DW数据窗口操作必学
- pb11.2build8949 数据窗口dw limit有关问题
- PB [Grid风格数据窗口改变线条颜色] 的变通实现方法(也可以成为 带表头的Grid数据窗口)
- 如何在PB中制作特殊形状数据窗口或按钮
- PB动态创建数据窗口
- PB日志-数据窗口控件函数130.SetSort()
- 在pb数据窗口实现选中多行数据
- pb从数据窗口获得数据的方法总结
- 【PB】也谈数据窗口自动换行
- PB中的数据窗口自动刷新技术
- PB中查找到被修改过的数据窗口行
- PB用数据窗口获取txt文本内容
- 【pb】 如何让数据窗口中字符型字段只能录入数字和符号'-' (自定义的掩码)
- PB数据窗口控件-datawindow