Oracle Apex列值有条件显示

问题描述 投票:0回答:1

我在交互式报表中使用了下面的查询,并关闭了转义特殊字符。这只是给文本着色,而要求是突出整个行。

有什么建议吗?

例:我在交互式报表中使用了下面的查询,并将转义特殊字符关闭。

SELECT "P_IT_ISSUES"."ISSUE_SUMMARY" as "ISSUE_SUMMARY",
    decode("P_IT_PEOPLE_1"."PERSON_NAME",NULL,'Unassigned',
        "P_IT_PEOPLE_1"."PERSON_NAME") 
        as "ASSIGNED_TO",
        case when "P_IT_ISSUES"."STATUS" ='Open' 
        then '<aaab style= "    color: green; " >'
        ||"P_IT_ISSUES"."STATUS"||'</aaab>'
        when  "P_IT_ISSUES"."STATUS" ='On-Hold' 
        then '<aaab style= "    color: red; " >'
        ||"P_IT_ISSUES"."STATUS"||'</aaab>' 
        else '<aaab style= "    color: red; " >'
        ||"P_IT_ISSUES"."STATUS"||'</aaab>' 
        end "Status"
FROM "P_IT_PEOPLE" "P_IT_PEOPLE_1",
    "P_IT_DEPARTMENTS" "P_IT_DEPARTMENTS",
    "P_IT_PEOPLE" "P_IT_PEOPLE",
    "P_IT_ISSUES" "P_IT_ISSUES"
WHERE "P_IT_ISSUES"."IDENTIFIED_BY_PERSON_ID"="P_IT_PEOPLE"."PERSON_ID"
AND "P_IT_ISSUES"."ASSIGNED_TO_PERSON_ID"="P_IT_PEOPLE_1"."PERSON_ID"(+)
AND "P_IT_ISSUES"."RELATED_DEPT_ID"="P_IT_DEPARTMENTS"."DEPT_ID"
oracle-apex oracle-apex-19.1
1个回答
0
投票

我需要对这篇文章进行修改。http:/www.grassroots-oracle.com201306highlight-cell-background-in-apex-report.html

要高亮整个cellrow,你需要对你的列应用一个条件类,类似于你现在的做法--但可以是一个简单的值。

首先,在你的查询中添加一个隐藏的列。

case when status = 'X' then 'foo' else 'bar' end my_class

你可以将其添加为一个可见列的HTML表达式,例如:状态列。

<span class="#MY_CLASS#">#STATUS#</span>

然后用JS做一个刷新后的动态操作,确保 "初始化时火 "被选中。这个JS会寻找任何带有该类的元素,然后在DOM中找到相关的cellrow,并给该行涂上颜色。

$("#my_report_static_id .foo").each(function(){
 $(this).closest('tr').css({"background-color":"red"});
});

如果有必要的话,你可以使用类似的技术对该颜色进行参数化。

© www.soinside.com 2019 - 2024. All rights reserved.