【问题标题】:Oracle APEX 18 Interactive GridOracle APEX 18 交互式网格
【发布时间】:2020-02-22 07:21:33
【问题描述】:

我试图弄清楚这在 Oracle APEX 交互式网格中是否可行。我想通过单击单元格将一串文本(如“Y”)插入到单元格中。我试图避免使用复选框。

【问题讨论】:

    标签: oracle grid oracle-apex interactive


    【解决方案1】:

    块引用

    请按照以下步骤达到预期效果

    将以下 JavaScript 代码粘贴到函数和全局变量声明中:

    function fSwitch(ptext) {
      if(ptext == 'Y') {
         return ("");
      }
      else {
         return 'Y'
      }
    }  
    

    使交互式网格可编辑

    将要插入字符串的列的列类型更改为“文本字段”。

    将以下代码粘贴到要插入字符串的列的高级 -> 自定义属性中

    onclick="javascript:this.value=fSwitch(this.value)"; onkeypress="return false;"
    

    这是如何工作的:

    在列单元格的焦点上,

    1. 如果单元格为空,将输入“Y”,
    2. 如果单元格包含“Y”,则单元格值变为 NULL;

    【讨论】:

    • 这不太行,但有些事情正在发生。我第一次尝试时,我必须双击,而不是单击,它会在单元格中输入一个“Y”。但是,它只能工作一次。如果我单击或双击另一行,则根本没有任何反应。此外,它不会通过再次单击单元格来删除“Y”。但是,如果我手动输入“Y”以外的任何字符,它会通过单击自动将其删除。
    • 感谢您的提醒。我已经修改了自定义属性部分中使用的代码。请使用我修改过的代码。执行此操作时请确保 IG 处于编辑模式(这将避免双击)。我已经添加了代码,您不能在该字段中输入任何内容。
    • 谢谢。现在效果更好了。我单击“编辑”按钮将其置于编辑模式,然后双击单元格以自动添加文本,效果很好。然后要删除文本,我只需要单击一次。这对我来说很好。以前从未写过 javascript,非常感谢您的帮助。
    【解决方案2】:

    交互式网格有一个内置的“切换”类型,可用于创建是/否列。那行得通吗?

    例如,转到 App Gallery 并安装 Sample Interactive Grids 应用程序。运行它并导航到 Editing > Other Column Types,然后查看“On Leave”列。

    【讨论】:

    • 感谢您的建议。如果我无法让 javascript 选项工作,我可能需要使用此选项。
    猜你喜欢
    • 1970-01-01
    • 2019-01-26
    • 1970-01-01
    • 1970-01-01
    • 2023-01-11
    • 2021-09-17
    • 1970-01-01
    • 1970-01-01
    • 2021-01-11
    相关资源
    最近更新 更多