Oracle Условное отображение значения столбца Apex - PullRequest
0 голосов
/ 29 апреля 2020

Я использовал приведенный ниже запрос в интерактивном отчете и отключил экранирование специальных символов. Это просто раскраска текста, тогда как необходимо выделить всю строку.

Есть предложения?

Пример:

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"

1 Ответ

0 голосов
/ 30 апреля 2020

Мне нужно сделать исправленную версию этого поста http://www.grassroots-oracle.com/2013/06/highlight-cell-background-in-apex-report.html

Чтобы выделить всю ячейку / строку, вам нужно применить условный класс к вашему столбцу, подобно тому, как вы делаете сейчас - но может быть простым значением.

Сначала добавьте скрытый столбец к вашему запросу.

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

, который вы добавите как HTML выражение видимого столбец, например: столбец состояния.

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

Затем выполните действие ref_ sh dynamici c после повторного refre с JS, обеспечив проверку «пожара при инициализации». Этот JS ищет все элементы с этим классом, затем поднимается по DOM, чтобы найти соответствующую ячейку / строку, и применяет цвет к строке.

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

Вы можете параметризовать этот цвет, если необходимо, используя аналогичные методы.

...