DataWindow自定义排序问题

不应挽留 2013-04-25 05:10:09
需求:一个Grid类型的datawindow,对应表中的一个字段Class的值为A、B、C、D,
现在我想将datawindow的显示的记录按照字段Class的值C、A、D、B的顺序排序,
请问该如何实现,谢谢!
...全文
196 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
dyf0130 2013-04-27
  • 打赏
  • 举报
回复
不如在库中做个排序规则表,更方便 c_id , c_value char, c_order 1 a 2 2 b 4 3 c 1 4 d 3
不应挽留 2013-04-27
  • 打赏
  • 举报
回复
最后采用的sql中排序:正确写法是order by decode(class,'C',1,'A',2,'D',3,'B',4).
不应挽留 2013-04-26
  • 打赏
  • 举报
回复
order by decode(class,C,A,D,B), class ,再测一下...
不应挽留 2013-04-26
  • 打赏
  • 举报
回复
感谢版主,若是排序条件中的值增多的话,setsort的逻辑稍显复杂. 继续求助:charindex排序方式oracle数据库不支持,oracle中是否有相应函数?
不应挽留 2013-04-26
  • 打赏
  • 举报
回复
两种可行方案: 1.sql中排序:order by decode(class,'C','A','D','B') 2.sql中order by class 然后在datawindow中Class的edit属性设置为ddlb,按照C、A、D、B的顺序在其中设置。 尚未进行完整测试.
WorldMobile 2013-04-25
  • 打赏
  • 举报
回复
在datawindow中用以下代码也可以 dw_1.setsort("if(class = 'A', 'CC', if(class = 'B', 'E', class)) A") dw_1.sort()
不应挽留 2013-04-25
  • 打赏
  • 举报
回复
自己找到了解决方案,在sql中加入 order by charindex(Class,'CADB'),明天测试一下...
不应挽留 2013-04-25
  • 打赏
  • 举报
回复
自己想了个笨办法,增加一个自定义字段Custom,当Class=C、A、D、B时令Custom=1、2、3、4...然后按Custom升序排序...效率很低的笨办法,继续求解...(补充:开发环境为PB6)

611

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder DataWindow
社区管理员
  • DataWindow社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧