如何在Oracle Apex中冻结交互式网格中的列

时间:2019-02-06 08:29:17

标签: oracle-apex

我有一个包含许多列的交互式网格。我希望某个列始终放在行的第一位置。

**Has Role**   Name   User_ID  Address   Phone number

基本上,我想冻结列“ Role”,以便用户无法在运行时更改其位置。他可以更改其他列的位置,例如姓名,USER_ID,地址,电话号码。

我该如何实现?

2 个答案:

答案 0 :(得分:0)

**编辑-新答案。我编辑了前面的答案,因为它太长了,无法放入评论中。

我想您可以冻结该列,并使用以下命令禁用标题中的freeze / unfreeze选项。请记住,这会禁用整个交互式网格上的冻结选项。将其添加到页面加载时执行部分。

$("#ig_id").on("gridactivatecolumnheader", function(e){
    setTimeout(function() {
        $("#ig_id").find("[data-option='freeze']").remove();
    },
               1);
}
            );

要在单个列上执行此操作,请在高级部分的相应列上进行操作,然后在 JavaScript初始化代码中添加以下内容。您将基本上停用显示的标题操作菜单表单,从而不允许人们更改其冻结选项。不确定是否可以更改顺序。我还没有测试过。我也会在这里尝试一下。

function(config) {
    config.defaultGridColumnOptions = {
        noHeaderActivate: true
    };  
    return config;
}

答案 1 :(得分:-1)

也许此链接会有所帮助?我认为这是一个链接的问题,虽然不是此处所需的答案。我必须查看如何冻结IG上的第一列,以便用户可以滚动浏览其他列而不会忽略第一列。

Apex freeze frames on interactive grids

用户可以手动冻结自己在最新版本的Apex中的任何列上的框架。

致谢