如何在浏览中获取所选项目的值(多选模式)

时间:2014-01-22 09:22:31

标签: progress-4gl openedge

我想获取浏览的选定项目文本。 (我也想使用多个选择属性)我试过

ASSIGN c-value = BROWSE1:SCREEN-VALUE . 

但它没有成功。我得到了像

这样的错误
  

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

我找到 FETCH-SELECTED-ROW(n),但我找不到一个关于它的例子。

感谢您的帮助。

1 个答案:

答案 0 :(得分:3)

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

如果你有一个浏览显示表“客户”,你可以在“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.