gpt4 book ai didi

sql - APEX高亮行根据列比较

转载 作者:行者123 更新时间:2023-12-02 22:33:23 25 4
gpt4 key购买 nike

我在 APEX 中有一份报告显示了两个表的 JOIN。两个表都有一个值,例如电话号码。如果这两个电话号码不匹配,我希望突出显示该行。

我查看了 Actions>Format>Highlight 中的突出显示选项,但似乎我只能将列值与特定值而不是另一列进行比较。

我是 APEX 的新手,所以我可能遗漏了一些明显的东西!我读过其他问题和答案,但他们似乎在处理更复杂的事情。他们谈到制作一个不可见的列并更改它的值,但我不确定我会怎么做。

感谢您的帮助!

最佳答案

您无法在 ir 突出显示中比较每行的另一列。因此,要么通过查询要格式化的列输出 html,要么使用 javascript/动态操作。

SQL:

SELECT CASE WHEN a.phone = b.phone THEN htf.escape_sc(a.phone) 
ELSE '<div class="highlight">'||htf.escape_sc(a.phone)||'</div>'
END AS phone_highlight
FROM a, b
WHERE a.id = b.id

(输出 html 时转义特殊字符!)另外,将该列设置为显示为“标准报告列”,这样它将呈现 html 而不是转义它。

就我个人而言,我会选择 javascript:
动态 Action ,刷新后执行javascript,勾选“fire on page load”:

$("td[headers='TELEPHONE1']").each(function(){
var lTest = $(this).siblings("[headers='TELEPHONE2']").text();
if($(this).text()!= lTest){
$(this).addClass("highlight");
};
});

这会将高亮类添加到同一行中与 telephone2 不同的 telephone1 的单元格。

在这两种情况下,我都使用了一个类,因此您也必须提供该类。 (当然,你可以在 js 中使用 .css(),但我喜欢将样式与功能分开)例如头部的样式标签:

<style type="text/css">
.highlight{
background-color: yellow;
color: purple;
}
</style>

这允许无污染的 sql、没有样式的 javascript 和 css 中的样式。

关于sql - APEX高亮行根据列比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11826940/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com