我在PowerBuilder中有一个可排序的DataWindow(9和12.6),它给了我一些狡猾的声音。我有一个名为Category的字段,定义为Char(4)。填充此字段的表单将其限制为4个数字字符。 Smartass测试仪我看到了那个并且去了嗯,这不是不允许否定的,是吗?"并检查。它没有。然后我尝试按该字段排序。如果我在Oracle中执行查询,它会按预期排序,并且-001位于顶部。如果我采用DataWindow,它开始按Obj_No排序,并告诉它按类别排序,它按以下顺序排序:
...
0009
-001
0010
...
我在最艰难的时刻提出了一个有意义的理由。还有其他人吗?
ETA:@avk,看起来有点像这样。
IF ls_sort_cols[i] <> '-' THEN ls_sort_str = ls_sort_str+' '+ls_sort_cols[i]+' A'
IF len(ls_sort_str) > 0 THEN
ldw_win.setsort(ls_sort_str)
ldw_win.sort()
END IF
我已经确认进入SetSort行的ls_sort_str的值是&#34;类别A&#34;。
答案 0 :(得分:1)
最好像这样编码:
IF len(ls_sort_cols) > 0 THEN
ldw_win.reset()
ldw_win.ImportString( ls_sort_cols)
ldw_win.setsort("category A")
ldw_win.sort()
END IF