You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过BROWSE br:CURRENT-COLUMN获取SET-SORT-ARROW()所需列索引?

解决BROWSE控件中通过CURRENT-COLUMN获取排序箭头所需列索引的问题

你不需要额外转换列索引,有两种直接可行的方式来调用SET-SORT-ARROW():

方式一:直接传入列句柄

SET-SORT-ARROW()方法本身支持接收列的句柄作为第一个参数,不需要先转成索引。你可以直接把获取到的hCol(当前列句柄)传进去:

br:SET-SORT-ARROW(hCol, cBrowserSort EQ "").

方式二:通过POSITION属性获取列索引

如果确实需要用到列的索引值,列对象的POSITION属性会返回该列在BROWSE中的位置(从1开始计数),用这个值作为参数即可:

br:SET-SORT-ARROW(hCol:POSITION, cBrowserSort EQ "").

修改后的完整代码示例:

DO:

    DEFINE VARIABLE hCol    AS HANDLE.
    DEFINE VARIABLE qh      AS HANDLE.

    IF cBrowserSort = "" THEN 
        cBrowserSort = "DESCENDING" .
    ELSE 
        cBrowserSort = "".

    ASSIGN hCol = BROWSE br:CURRENT-COLUMN
           qh   = QUERY  br:HANDLE
           cBy  = "by temp" + STRING(hCol:NAME).

    qh:QUERY-PREPARE("FOR EACH TT-Component NO-LOCK BY " + hCol:NAME + " " + cBrowserSort + ":").
    qh:QUERY-OPEN().
            
    br:CLEAR-SORT-ARROWS().
    
    // 使用列句柄设置排序箭头
    br:SET-SORT-ARROW(hCol, cBrowserSort EQ "").
        
END.

内容的提问来源于stack exchange,提问作者Raphael Frei

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.12 19:19:51