根据列比较APEX hightlight行
我在APEX中有一个报告,其中显示了两个表的JOIN。两个表都有一个值,例如电话号码。如果这两个电话号码不匹配,我希望该行被高优先处理。根据列比较APEX hightlight行
我看着Actions> Format> Highlight中的突出显示选项,但似乎我只能将列值与特定值进行比较而不是另一列。
我对APEX很新,所以我可能会错过一些明显的东西!我已阅读其他问题和答案,但他们似乎正在处理更复杂的事情。他们谈到制作一个看不见的专栏并改变这个专栏的价值,但我不确定我会如何做到这一点。
感谢您的帮助!
在查询中创建一个伪列来标记感兴趣的记录。然后与该标志比较:
SELECT a.phone, b.phone
,CASE WHEN a.phone = b.phone THEN 1 ELSE 0 END AS match
FROM a, b
WHERE a.id = b.id
您无法在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:
动态动作,刷新后,执行的JavaScript,请检查“火在页面加载”:
$("td[headers='TELEPHONE1']").each(function(){
var lTest = $(this).siblings("[headers='TELEPHONE2']").text();
if($(this).text()!= lTest){
$(this).addClass("highlight");
};
});
这将亮点类添加到细胞telephone1它们与同一行中的telephone2不同。
在这两种情况下,我曾与一个班,所以你必须提供。 (当然,你可以在JS使用的CSS(),但我喜欢的造型从功能分隔) 如风格标签头:
<style type="text/css">
.highlight{
background-color: yellow;
color: purple;
}
</style>
这使得无公害SQL,JavaScript的无造型,和CSS中的样式。
谢谢你的优秀帖子,它对我来说肯定会对我有用,但是暂时格伦的回答对我来说是最简单的。 。 – Chro 2012-08-06 13:03:33
我偶尔从搜索中找到了这个解决方案,首先感谢您投入这个开发者的时间。我把你一路追到:
“在这两种情况下,我都与一个班级一起工作,所以你也必须提供这个功能(当然,你可以在js中使用.css(),但是我喜欢
<style type="text/css">
.highlight{
background-color: yellow;
color: purple;
}
</style>"
在哪里,你会在顶点“提供”此再次感谢,
正如我所提到的旅馆第二段我不知道如何:造型从功能在头隔开)如风格标签?比较2行,只有1行到一个设定值 – Chro 2012-08-06 11:53:52