【发布时间】:2017-07-15 07:34:09
【问题描述】:
我想创建一个通用程序,即 .i,我可以从 a.w 调用它,它会根据我的条件更改浏览器颜色。如何通过 .i 更改浏览器颜色?
【问题讨论】:
-
嗨!如果您签出代码中的How to create a Minimal, Complete, and Verifiable example 以备将来在堆栈溢出时使用会更好。 -谢谢
标签: openedge progress-4gl
我想创建一个通用程序,即 .i,我可以从 a.w 调用它,它会根据我的条件更改浏览器颜色。如何通过 .i 更改浏览器颜色?
【问题讨论】:
标签: openedge progress-4gl
我想您想更改浏览线的颜色。但是我不相信您可以为此进行包含,因为您必须单独命名字段才能以简单的方式执行此操作。因此,假设您有一个名为 br-cust 的浏览器,它显示了您正在显示客户编号、名称和信用额度的客户表。
您需要在浏览中添加一个行显示事件,您会在其中说
ON ROW-DISPLAY OF BROWSE br-cust DO:
DEFINE VARIABLE iBgColor AS INTEGER NO-UNDO.
ASSIGN iBgColor = IF customer.credit-limit < 2000 THEN 9 ELSE 15
customer.cust-num :bgcolor in browse br-cust = iBgColor
customer.name :bgcolor in browse br-cust = iBgColor
customer.credit-limit:bgcolor in browse br-cust = iBgColor.
END.
如果信用额度较低(
现在,如果您想让任何给定的浏览器能够根据条件更改颜色,这也是可能的,但需要更多的代码。我会尽快发布解决方案,因为我现在无法访问 Progress。
但我希望这会有所帮助。
【讨论】:
如果您需要在包含中包含着色逻辑,您可以使用预处理器来完成。像这样创建包含(例如 colorbrs.i):
ON ROW-DISPLAY OF {&Brs}
DO:
ASSIGN
{&Tbl}.{&Fld1}:FGCOLOR IN BROWSE {&Brs} = 12
{&Tbl}.{&Fld1}:BGCOLOR IN BROWSE {&Brs} = 9.
END.
大括号是预处理器。它们在编译时填写。您可以像这样在 .w 中定义它们:
{colorbrs.i &Brs=brsCust &Tbl=Customer &Fld1=Cust-Num}
当您编译 .w 时,编译器将从包含语句中获取值并将它们填充到包含文件中的预处理器中。
【讨论】: