Oracle表单并不完全尊重我对项目背景颜色的设置
我被迫使用Oracle Form Builder 10.1.2.3.0。我可以在特定项目的表单中使用的理想控件是List Item
使用list Style
称为COMBO BOX
。
使用此控件,我可以在pre-form
触发器中使用set_item_property
来设置列表项目的背景颜色以匹配画布颜色。
项目的默认背景颜色是白色的,但这不是问题的最大部分。一个很大的UI问题是选择了选择后物品的颜色:可怕的芥末颜色。我更喜欢一些斯巴达人,当然还有其他东西尖叫“嘿!看着我!”。
当我运行表单时,一切都很好,直到我选择列表中的项目为止。之后,所选项目的背景是芥末。列表的每个弹出窗口都显示了带有芥末背景的项目。
我认为我可以将触发器添加到该项目中以重置背景颜色,但这无效。我创建了以下触发器,无济于事:
. WHEN-LIST-CHANGED
. POST-CHANGE
. WHEN-VALIDATE-ITEM
. WHEN-NEW-ITEM-INSTANCE
我找不到其他可能有用的触发名称。
该代码强迫我的UI偏好有希望吗?
在对控件的任何动作之前:
在第一个弹出窗口中:
在第一个弹出窗口中选择一个项目之后:
第二弹出
net/pdzzp.png“ rel =” nofollow noreferrer“>
I'm forced to use Oracle Form Builder 10.1.2.3.0. An ideal control I can use in the form for a particular item is a List Item
using a List Style
called Combo Box
.
Using this control, I can use set_item_property
in a PRE-FORM
trigger to set the background color of the list items to match the Canvas color.
The default background color of the items is white but that's not the biggest part of the problem. What is a pretty big UI problem is the color of the items after a selection is made: a horrible mustard color. I prefer something more Spartan and certainly something other than screaming "Hey! Look at me!".
When I run the form, everything is good until I choose an item in the list. Afterwards, the background of the selected item is mustard. And each popup of the list shows the items with a mustard background.
I figured I could add triggers to the Item to reset the background color but that didn't work. I created the following triggers to no avail:
. WHEN-LIST-CHANGED
. POST-CHANGE
. WHEN-VALIDATE-ITEM
. WHEN-NEW-ITEM-INSTANCE
I couldn't find any other trigger names that might be useful.
Is there hope for the code to force my UI preferences?
Before any action upon the control:
During the first popup:
After selecting an item during the first popup:
Second popup:
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
如果您使用的是Oracle E-Business Suite,他们可能会以模板形式编码该功能,我猜想并说您可能正在使用。
如果您不使用EBS,则可能会以您的表格中的代码进行此更改。例如,如果您有一个列表变化的触发器,其中包含一系列代码,看起来像这样,您将获得所描述的行为:
If you are using Oracle E-Business Suite they likely have that functionality coded in the template form, which I would guess and say you are likely using.
If you are not using EBS, then you likely have code in your form making this change. For example, if you have a WHEN-LIST-CHANGED trigger that includes a line of code that looks something like this you will get the behavior you are describing:
如果包含该项目的
数据块
不是数据库项目,则可以更改该块,以使其不可更新。如果这样做,则不会使用芥末颜色。似乎颜色变化的目的(芥末)是一个视觉线索,该线索尚未提交到数据库的变化。但是,如果
数据块
不是数据库块,则不需要视觉线索,因为不可能进行更改。我将
DML数据目标类型
从表
更改为none
,芥末颜色不再出现。我没有更改的其他设置,但也可能相关的是:
即使它是数据库项目,您也可以将项目的update_allowed属性设置为false在其
中,
trigger和将其设置为whle-code>时单击
触发器的属性_true。这不是完美的,因为如果您单击列表项目的文本而不是向下箭头,那么您仍然可以得到芥末,但至少在完成后,芥末就消失了。If the
Data Block
containing the item is not a database item, then you can alter that block so that it is not updateable. If you do that, then the mustard color won't be used.It seems the purpose of the change in color (to mustard) is a visual clue that changes to the database have not been committed. But if the
Data Block
is not a database block, then there's no need for the visual clue because no changes would be possible.I changed
DML Data Target Type
fromTable
toNone
and the mustard color no longer appears.The other settings which I didn't change but which might also be relevant are:
Even if it is a database item, you can set the item's update_allowed property to false in its
WHEN-LIST-CHANGED
trigger and set it to property_true in itsWHEN-MOUSE-CLICK
trigger. This is not perfect because if you click on a list item's text instead of the down arrow, then you still get the mustard but at least after you're done, the mustard is gone.