如何获得自定义按钮以将我重定向到 apex oracle 中的页面?

How do I get a custom button to redirect me to a page in apex oracle?

我在 IG 属性部分使用 JavaScript Initialization Code 为交互式网格 (IG) 创建了以下按钮。

function(config) {
    var $ = apex.jQuery,
        toolbarData = $.apex.interactiveGrid.copyDefaultToolbar(),
        lastToolbarGroup = toolbarData.toolbarFind("actions4"),
        assembleButton = {
            type: "BUTTON",
            hot: false,
            icon: "fa fa-send u-info-text",
            iconBeforeLabel: true,
            action: "assemble-as"
        };
    lastToolbarGroup.controls.push( assembleButton );
    config.toolbarData = toolbarData;
    
    // this is how actions are added
    config.initActions = function(actions) {
        actions.add({
            name: "assemble-as",
            label: "Assemble as ...",
            action: function(event, focusElement) { apex.event.trigger("#hiddenAssembleAsButton", "hidden_assemble_as_button_click"); }
        });
    }
    
    return config;
}

然后我创建了 hiddenAssembleAsButton 使用该名称作为高级下的 Static ID

该按钮由动态操作定义 Hidden_Assemble_As_Button_Click 我认为我应该可以在此处重定向页面,但我不确定。

页面重定向似乎应该发生在 jQuery Selector 中,但我不知道该放什么,或者那是否是添加代码的正确区域。

如有必要,我可以添加图片,但我觉得我已经描述得很好了。

单击按钮 执行 操作。它触发一个名为 hidden_assemble_as_button_click 的事件,绑定到一个 id #hiddenAssembleAsButton。你想让它重定向。最简单的选择是在该代码中进行重定向。用这个替换 actions.add 块:

        actions.add({
            name: "assemble-as",
            label: "Assemble as ...",
            action: function(event, focusElement) { window.location.href = "http://www.whosebug.com"; }
        });

有时,您需要在交互式网格中的某处添加一个按钮,但您仍然喜欢使用 APEX 为基本按钮提供的声明性选项,例如执行所有操作,例如传递变量值、计算校验和或在您打开对话框时打开对话框目标页面是模型页面。这在纯 javascript.

中可能很困难

在这种情况下,您也可以只创建一个基本按钮,在设计器中按照您喜欢的方式进行设置,然后使用高级 --> 自定义属性隐藏它:style="display:none"。另外,设置一个静态 ID,如 button1.

然后,在您的操作中,您只需点击按钮即可。

    actions.add({
        name: "assemble-as",
        label: "Assemble as ...",
        action: function(event, focusElement) { $('#button1').click(); }
    });