Colors powerbuilder10.5中的条件行着色

Colors powerbuilder10.5中的条件行着色,colors,background,rows,powerbuilder,Colors,Background,Rows,Powerbuilder,我使用的是PowerBuilder10.5,我遇到了一个问题,起初看起来很简单,但无法接近解决方案。 是否可以根据不同的条件为行添加不同的颜色?我有一个select语句,它检索许多状态不同的行:状态a表示该行处于活动状态,ERR表示有问题,F表示已完成,等等。。。 我需要的是状态为“ERR”的列的颜色为红色,状态为“A”的列的颜色为绿色。所有其他列可能为白色 我现在只能做一半的工作。我在数据窗口中添加了一个虚拟字段,称为“颜色”。对于我在设计视图中编写的所有单元格,背景色属性 IF ( colo

我使用的是PowerBuilder10.5,我遇到了一个问题,起初看起来很简单,但无法接近解决方案。 是否可以根据不同的条件为行添加不同的颜色?我有一个select语句,它检索许多状态不同的行:状态a表示该行处于活动状态,ERR表示有问题,F表示已完成,等等。。。 我需要的是状态为“ERR”的列的颜色为红色,状态为“A”的列的颜色为绿色。所有其他列可能为白色

我现在只能做一半的工作。我在数据窗口中添加了一个虚拟字段,称为“颜色”。对于我在设计视图中编写的所有单元格,背景色属性

IF ( color =1, 65280, 16777215)
现在我移动到OK按钮的点击事件,在这里我检索数据

dw_1.Retrieve()
FOR ll_=1 to dw_1.RowCount()
ls_status=dw_1.GetItemString(ll_,"status")
IF ls_status='A' THEN
dw_1.SetItem(ll_, 'color', 1)
ELSEIF ls_status='ERR' THEN
??????
END IF
NEXT
带问号的部分是我无法前进的地方。这将突出显示状态为“OK”绿色的所有行,但我似乎无法将错误行显示为红色。我尝试过在背景颜色属性中操作代码(尝试在color=2时给他一个条件),但我一直得到“expressionnotvalid”消息。 修改方法对我也没有多大帮助,因为我似乎无法让他只使用修改方法为状态为“ERR”的行着色


任何建议都会有帮助

您应该在SQL语句本身中设置“color”列

SQL之类的

CASE status WHEN 'ERR' THEN 'R' WHEN 'A' THEN 'G' END
if (color[0] = 'R', RGB(255,0,0), if (color[0] = 'G', RGB(0,255,0), RGB(0,0,0))) 
然后,在datawindow列的背景色上的表达式中,可以放置

CASE status WHEN 'ERR' THEN 'R' WHEN 'A' THEN 'G' END
if (color[0] = 'R', RGB(255,0,0), if (color[0] = 'G', RGB(0,255,0), RGB(0,0,0))) 

在对象或标注栏的数据窗口属性中,转到“背景”选项卡。“颜色”属性有一个带等号(=)的小按钮。单击该选项并编写表达式,以基于列的值导出RGB值


我在这里写了一篇关于这方面的文章:

您可以在computed属性中使用case语句。大概是这样的:

case( status when 'ERR' then RGB(255,0,0) when 'A' then RGB(0,255,0) else RGB(0,0,0) )

谢谢你,马特!我一直犯语法错误。我把支架放错地方了。我编写了“if(color[0]='R',RGB(255,0,0),if(color[0]='G',RGB(0255,0)),RGB(0,0,0))”来代替您的代码。你让我开心,再次感谢你!