奇怪的DataWindow排序与负数字字符串

时间:2015-03-20 19:59:01

标签: sorting powerbuilder datawindow

我在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;。

1 个答案:

答案 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