如何在oracle apex中创建多选列表?

问题描述 投票:0回答:1

我有一个名为“Employees”的表,其中包含 Employee_id 、 Employee_Name 列、工作和产品。现在我想创建一个页面来插入这些数据。具有选择列表或 LOV 类型并允许多重选择的产品项目,将我选择的值存储到表中的数据库列中。我面临的问题是如何创建多选列表并将选择值存储在这些表中。我尝试使用列数据类型“varchar 2”来做到这一点,并且在页面项目的规范中我使用了多选是“是的” 有没有可以多选的项目?如果没有的话我该怎么办?

oracle oracle-apex
1个回答
0
投票

Apex 为此设计了Shuttle item。它允许您选择左侧的值并将它们移动到项目的右侧。例如:

enter image description here

提交会将它们存储到

varchar2
数据类型列中(所以是的 - 这就是
product
列的数据类型应该是的;使其足够长以接受您期望的所有值)。

由于航天飞机项目只是*另一个LoV,它的选择看起来像

select product_name as display_value,
       product_id   as return_value
from products

假设您选择了 3 个产品,它们将存储为以冒号分隔的

return_value
值列表;例如,
1347:32:54882


这在 Apex 环境中运行得很好。但是,请注意 - 如果您针对

product
列编写自己的查询 - 您必须将它们拆分为行,以便这些
ID
值可以连接到
products
表(或包含该列的任何其他表)信息)。

此外,这样的存储(冒号分隔的列表)将阻止创建外键约束,因此您必须通过数据库触发器强制执行它。

因此,请考虑在当前表和包含

employee_id
product_id
列的新表之间创建主从关系;这样的数据模型将被标准化

© www.soinside.com 2019 - 2024. All rights reserved.