我有一个名为“Employees”的表,其中包含 Employee_id 、 Employee_Name 列、工作和产品。现在我想创建一个页面来插入这些数据。具有选择列表或 LOV 类型并允许多重选择的产品项目,将我选择的值存储到表中的数据库列中。我面临的问题是如何创建多选列表并将选择值存储在这些表中。我尝试使用列数据类型“varchar 2”来做到这一点,并且在页面项目的规范中我使用了多选是“是的” 有没有可以多选的项目?如果没有的话我该怎么办?
Apex 为此设计了Shuttle item。它允许您选择左侧的值并将它们移动到项目的右侧。例如:
提交会将它们存储到
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
列的新表之间创建主从关系;这样的数据模型将被标准化。