在APEX交互式网格中禁用项目-操作下拉菜单

时间:2018-10-22 07:37:25

标签: javascript oracle-apex oracle-apex-5.1

这里的想法是从交互式网格的操作下拉菜单中删除/禁用某些项。

到目前为止,我已经成功使用以下代码禁用了“ 汇总”选项:

`function(config) {
    config.initActions = function( actions ) {
        actions.hide("show-aggregate-dialog");
    }
    return config;
}`

Aggregate Option removed

现在,我尝试使用其他一些选项执行相同的操作,例如刷新(显示为 Aktualisieren ),但是将以下行添加到了先前的代码,什么都不做:

 actions.hide("show-filter-dialog");

我尝试了一些尝试来删除其余部分,例如 none!important css函数,但没有结果:

#ig_id button[data-action="show-filter-dialog"] {
    display: none !important;
}

我也尝试了删除操作,但没有成功:

actions.remove("show-filter-dialog");

通过使用“删除索引菜单”功能,我设法删除了整个 Daten 选项,尽管我只希望禁用其中的某些项,而不是全部禁用:< / p>

var $ = apex.jQuery;
   var toolbarData = $.apex.interactiveGrid.copyDefaultToolbar();
   config.toolbarData = toolbarData;
   toolbarData[3].controls[0].menu.items[3]['hide'] = true;
   return config;

Date option removed

我使用的方法有问题吗?他们有能力改变这些物品吗?或者我只能使用插件更改这些内容?

此外,有时我对应该将其中一些代码放在何处感到困惑。 javascript函数应该仅放置在“交互式网格”的“ 属性”部分还是“ 页面加载时”部分?

1 个答案:

答案 0 :(得分:0)

因此,在尝试了一些代码之后,我设法在这里解决了所有问题。我正在发布解决方案,以防其他人也想使用它。隐藏它的方法可能更好,更容易并且可能更统一,而不是使用许多不同的函数,但是我想我必须先学习更多关于Javascript的知识。这是对我有用的代码和属性:

function(config) {
    config.initActions = function( actions ) {

        actions.hide("show-aggregate-dialog"); // hides Aggregate
        actions.hide("refresh"); // Hides Refresh inside "Data"
        actions.hide("chart-view"); // Hides Chart. Thanks to Alli Pierre Yotti in Apex Forums

        actions.remove("show-columns-dialog"); // Hides Columns
        actions.remove("show-filter-dialog"); // Hides Filter
        actions.remove("show-help-dialog"); // Hides Help
    }

   var $ = apex.jQuery;
   var toolbarData = $.apex.interactiveGrid.copyDefaultToolbar();
   config.toolbarData = toolbarData;
   toolbarData[3].controls[0].menu.items[4]['hide'] = true; // Hides Format
   toolbarData[3].controls[0].menu.items[8]['hide'] = true; // Hides Report

   config.features.flashback = false; // Hides Flashback

   return config;
}