我在Oracle APEX 5.1中有一个交互式报表,我有几列要隐藏,但允许最终用户在隐藏的列中搜索文本。
我下面在JavaScript的“函数和全局变量声明”部分中粘贴了包含交互式报告的页面-
function hideColumn(id) {
$(id).remove();
}
及以下“页面加载时执行”部分-
hideColumn('#static-id-of-column-to-hide');
但这仅隐藏列标题,各个列的数据仍然可见。隐藏列的空间由下一个列标题占用。此外,我已经尝试了两个$(id).remove();和$(id).hide(); ,结果是一样的。
有什么建议吗?
答案 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”是您要隐藏的列号。