【问题标题】:How to get value of selected item in browse (multiple selection mode)如何在浏览中获取所选项目的值(多选模式)
【发布时间】:2014-01-22 22:38:33
【问题描述】:

我想获取浏览的选中项文本。 (我也想用多选属性)我试过了

ASSIGN c-value = BROWSE1:SCREEN-VALUE . 

但它没有成功。我收到类似

的错误

屏幕值不是 BROWSE1 的可查询属性

我找到了 FETCH-SELECTED-ROW(n),但我找不到有关它的示例。

感谢您的帮助。

【问题讨论】:

    标签: progress-4gl openedge


    【解决方案1】:

    最简单的方法是访问浏览器中的缓冲区,而不是浏览器本身。

    如果您有一个显示“客户”表的浏览器,您可以在“VALUE-CHANGED”触发器中放入类似的内容:

    DEFINE VARIABLE c-value AS CHARACTER   NO-UNDO.
    
    IF AVAILABLE customer THEN DO:
    
        c-value = customer.custName.
        MESSAGE c-value
            VIEW-AS ALERT-BOX INFORMATION.
    
    END.
    

    对于启用了 MULTIPLE-SELECTION 的浏览,您必须执行以下操作(也适用于单选浏览 - 在这种情况下,NUM-SELECTED-ROWS 永远不会超过一个):

    DEFINE VARIABLE i        AS INTEGER     NO-UNDO.
    DEFINE VARIABLE c-value  AS CHARACTER   NO-UNDO.
    
    /* The browse is named brTest */
    DO i = 1 TO brTest:NUM-SELECTED-ROWS:
    
        brTest:FETCH-SELECTED-ROW(i).
        IF AVAILABLE customer THEN
            c-value = c-value + customer.custName + "~n".
    END.
    
    MESSAGE c-value VIEW-AS ALERT-BOX.
    

    【讨论】:

    • 没问题,不过,您必须针对多选浏览器进行更多调整。祝你好运!
    • 添加了多选浏览示例
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-08-17
    • 2022-11-23
    • 1970-01-01
    • 2019-06-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多