Oracle APEX 5.1隐藏交互式报告列

时间:2019-03-18 07:37:32

标签: oracle-apex

我在Oracle APEX 5.1中有一个交互式报表,我有几列要隐藏,但允许最终用户在隐藏的列中搜索文本。

我下面在JavaScript的“函数和全局变量声明”部分中粘贴了包含交互式报告的页面-

function hideColumn(id) {
    $(id).remove();
}

及以下“页面加载时执行”部分-

hideColumn('#static-id-of-column-to-hide');

但这仅隐藏列标题,各个列的数据仍然可见。隐藏列的空间由下一个列标题占用。此外,我已经尝试了两个$(id).remove();和$(id).hide(); ,结果是一样的。

有什么建议吗?

2 个答案:

答案 0 :(得分:0)

您可以改用CSS,其中your_report是该区域的静态ID,而YOUR_COL通常来自列别名。您可以使用浏览器工具通过inspecting the element进行验证。

#your_report td[headers="YOUR_COL"]
,#your_report th#YOUR_COL
{
  display: none;
}

但是您可能会发现报告在调整列宽方面并非总是按预期进行。

如果您使用JS路由,则应在刷新该区域后的动态操作中触发它,而不仅仅是在页面加载时触发。

答案 1 :(得分:0)

尝试使用该方法代替该方法。 (插入页面内联CSS)也许可以解决列宽问题。

.a-IRR tr th:nth-child(X), .a-IRR tr td:nth-child(X) {
  display:none;
} 

其中“ X”是您要隐藏的列号。