Oracle10g 如何在Oracle中控制表格布局中的行

Oracle10g 如何在Oracle中控制表格布局中的行,oracle10g,listitem,oracleforms,Oracle10g,Listitem,Oracleforms,这可能很简单,但我对甲骨文还不熟悉。我使用的是Oracle 10g,它有一个表格,以表格形式列出了链接表中的信息。数据的最后一列是一个列表项类型,其元素列表为Enabled T和Disabled F 我需要的是,当用户将此下拉列表更改为禁用时,我只希望该行禁用部分列,而不是整个列 这还假设在加载表单时,它将禁用和启用数据行,具体取决于从数据库中的enabledisabled列中提取的值 谢谢你的帮助 选项1:使用ENABLED item属性 不幸的是,Oracle Forms不允许在项目实例级别

这可能很简单,但我对甲骨文还不熟悉。我使用的是Oracle 10g,它有一个表格,以表格形式列出了链接表中的信息。数据的最后一列是一个列表项类型,其元素列表为Enabled T和Disabled F

我需要的是,当用户将此下拉列表更改为禁用时,我只希望该行禁用部分列,而不是整个列

这还假设在加载表单时,它将禁用和启用数据行,具体取决于从数据库中的enabledisabled列中提取的值

谢谢你的帮助

选项1:使用ENABLED item属性

不幸的是,Oracle Forms不允许在项目实例级别更改项目的ENABLED属性

但是,您可以在用户输入记录时启用或禁用整个项—使用when-NEW-record-INSTANCE触发器—根据列表项的当前记录值,触发器将启用的属性设置为property\u TRUE或property\u FALSE

当然,列表项的WHEN-list-CHANGED触发器中也会有相同的代码

这种方法的缺点是,整个列在用户看来都是禁用的,并且用户将无法使用这些禁用的项选择其他记录

选项2:使用INSERT_ALLOWED和UPDATE_ALLOWED属性

可以使用set_item_instance_属性在项目实例级别设置这些属性。您可以在块的查询后触发器以及列表项的WHEN-list-CHANGED触发器中设置它们

但是,这不会改变项目在屏幕上的外观。要解决此问题,还可以在项目实例级别设置视觉属性,例如,将项目更改为使用深灰色背景或其他内容


好吧,真臭。好吧,我想我会在表单上为用户清楚地描述功能。再次感谢Jeff为我节省了时间,让我不用转轮子。不幸的是,这并不简单:-但我已经多次使用选项2,效果很好。