基于字符串和数字的条件颜色格式

时间:2018-10-01 14:23:28

标签: crystal-reports

我正在尝试修正报告中任何{nresult}> {flaglevel} = crred的逻辑。除了我们最初没有考虑{flaglevel}默认为0的事实,除非输入了特定的数字,否则此方法有效。因此即使{flaglevel}仅是默认值,所有{nresult}均为红色。

{nresult}是一个数字,{flaglevel}是一个字符串。当前代码是

If {PRM_SxData.nResult} > tonumber({PRM_SxData.FlagLevel}) 
then crRed 
Else crBlack

我尝试为{flaglevel}制作一个单独的公式,除了我必须在后面加上一个数字,否则它不起作用。

if tonumber ({PRM_SxData.FlagLevel}) > 0
then tonumber({PRM_SxData.FlagLevel})
else " "

基本上我需要的是这样的东西:

If {PRM_SxData.nResult} > tonumber({PRM_SxData.FlagLevel}) //where flaglevel >0 
then crRed 
Else crBlack

1 个答案:

答案 0 :(得分:0)

我对用户输入有点悲观,我认为R.McMillan提出了一个很好的问题,所以我会这样:

If (not isnull({PRM_SxData.FlagLevel))
AND {PRM_SxData.FlagLevel} <> ""
AND {PRM_SxData.nResult} > tonumber({PRM_SxData.FlagLevel})
then crRed 
Else crBlack

请尝试一下,让我们知道发生了什么事。

如果它不起作用,请在某处打印{PRM_SxData.FlagLevel}以检查其值。