我有一个交互式报告apex5.0,其中包含几个字段。
想要停用'编辑'铅笔选项链接,其中payment_date&代码已填充。
仅在payment_date
&代码为空。
根据列中的特定值禁用特定行的编辑按钮。
对于前。如果网格有3列A,B,C,如果B包含" Apple"和' 01-jan-17',则必须禁用该行的编辑按钮。
在apex5.0中执行此类功能有哪些不同的选项,启用&禁用"编辑"根据某些标准?
答案 0 :(得分:3)
您还可以在报告的查询中添加案例陈述。
E.g。
(Case when [some logic] then
--display link
'<a href="f?p=' || :APP_ID || ':47:' || :APP_SESSION || '::NO:47:P47_ID:'|| a.id || '" title="Edit"><img src="#IMAGE_PREFIX#menu/pencil16x16.gif" alt="" /></a>'
End) as col_link
上述示例仅在满足case语句时才显示链接。该链接将指向第47页,我们会将查询的ID列传递给第47页的项目P47_ID
为了将此新列视为链接,您必须将&#34;显示更改为文本&#34;属性为&#34;标准报告栏&#34 ;;您可以在编辑报告属性时实现此目的。
答案 1 :(得分:0)
一种方法是在页面加载时使用JavaScript: 让我们假设第一列带有ID并用于显示编辑链接。第二列是您的产品名称,如Apple。只需禁用单击此元素(带ID的单元格)或更改链接,img等。
var table = $(".a-IRR-table tbody");
table.find('tr').each(function (i, el) {
var $tds = $(this).find('td'),
productId = $tds.eq(0).text(), //first column with ID and edit link
product = $tds.eq(1).text(), //second column
Quantity = $tds.eq(2).text(); //third column
if (product == 'Apple'){
$tds.eq(0).click(false);
}
});
感谢JavaScript的这个答案:Loop Through Each HTML Table Column and Get the Data using jQuery
修改强>
要根据您的查询隐藏值,请使用CASE。例如:
SELECT
CASE
WHEN B = 'Apple' THEN
'<img src="#IMAGE_PREFIX#edit.gif" alt="">'
ELSE ''
END edit_link,
A,B,C
FROM TABLE_NAME
@boris,谢谢它似乎在网上工作区工作..但是我想尝试在测试环境中做同样的事情。与ords只获得链接没有铅笔..这很奇怪!终于通过css隐藏了它:谢谢你的帮助欢呼!!