我想创建一个通用程序,即.i,我可以从a.w调用,它将根据我的条件更改浏览器颜色。如何通过.i?
更改浏览器颜色答案 0 :(得分:1)
我想你想要改变浏览线颜色。但是我不相信你能够为此做出包含,因为你必须单独命名这些字段才能轻松完成。因此,假设您有一个名为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.
如果信用额度较低(<2000),则将浏览背景颜色更改为红色,如果信用额度不足,则可以使用白色。如果您想更改字体颜色,请使用:color。
现在,如果你想给它任何给定的浏览能力,根据条件改变颜色,这也是可能的,但需要更多的代码。我会尽快发布解决方案,因为我现在无法访问Progress。
但我希望这有帮助。
答案 1 :(得分:1)
如果需要在包含中使用着色逻辑,则可以使用预处理器执行此操作。像这样创建include(例如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时,编译器将从include语句中获取值并将它们填充到include文件中的预处理器中。