APEX:显示/隐藏项目时如何自动调整项目宽度?

Posted

技术标签:

【中文标题】APEX:显示/隐藏项目时如何自动调整项目宽度?【英文标题】:APEX: How to automatically adjust item width when showing/hiding items? 【发布时间】:2020-03-17 19:23:14 【问题描述】:

我正在 Oracle APEX 中构建应用程序,但遇到了设计问题。

我有一个区域,一行中有十几个班车,我需要在任何给定时间只显示其中的 2 或 3 个,具体取决于在另一个下拉列表项中所做的选择。

为了演示问题和测试,我构建了一个全新的空白页面进行测试。 在这个页面上,我创建了一个 Select-List 项,它返回要显示的航天飞机的数量。

然后我创建了动态操作以仅显示所选航天飞机的数量,并隐藏其余的。 所以当用户将选择更改为较小的数字时,一些穿梭应该隐藏在浏览器中,无需提交或刷新页面。

动态动作效果很好,并按预期隐藏穿梭。 但是,穿梭车不会展开以填满行。

这是一个主要问题,因为航天飞机需要更多的水平空间才能可用。 当我隐藏多余的穿梭时,我需要剩余的穿梭展开并填充行中的水平空间。

所有穿梭机都配置有Automatic 列和列跨度选项。

当我隐藏了大多数其他穿梭时,如何使穿梭展开以填充行中的水平空间? 我可以使用 javascript 动态操作重新呈现项目吗?

【问题讨论】:

【参考方案1】:

我不知道一个简单的方法,但你可以试试这个:

apex 模板分为 12 个部分,因此每个项目的列跨度都定义为其 div 容器中的 css 类。您只需更改要扩展的项目的类。

你可以使用的类是从col-1col-12

您应该在动态操作中使用的 javascript 应该是类似的:

$( "#P_ITEM" ).parent().removeClass( "col-2" );
$( "#P_ITEM" ).parent().addClass( "col-6" );

这是项目所在的 html 示例:

【讨论】:

非常有趣!让我修补一下,看看会发生什么。

以上是关于APEX:显示/隐藏项目时如何自动调整项目宽度?的主要内容,如果未能解决你的问题,请参考以下文章

Extjs - 当Compositefield中的项目增长/调整大小时如何调整兄弟姐妹的位置

使用自动布局调整 xib 元素的宽度

Oracle APEX 中自动显示的字段

设置剑道 ui 下拉列表宽度

Oracle Apex Shuttle 项目数组在提交时为空

使用页面项目值在 oracle apex 中搜索经典报告