Oracle表单并不完全尊重我对项目背景颜色的设置

发布于 2025-01-26 02:48:27 字数 1391 浏览 3 评论 0原文

我被迫使用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:

Before any action upon the control


During the first popup:

First popup


After selecting an item during the first popup:

After selection


Second popup:

Second popup

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

大姐,你呐 2025-02-02 02:48:27

如果您使用的是Oracle E-Business Suite,他们可能会以模板形式编码该功能,我猜想并说您可能正在使用。

如果您不使用EBS,则可能会以您的表格中的代码进行此更改。例如,如果您有一个列表变化的触发器,其中包含一系列代码,看起来像这样,您将获得所描述的行为:

SET_ITEM_PROPERTY ('LIST1', BACKGROUND_COLOR, 'OLAF1');

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:

SET_ITEM_PROPERTY ('LIST1', BACKGROUND_COLOR, 'OLAF1');
扎心 2025-02-02 02:48:27

如果包含该项目的数据块不是数据库项目,则可以更改该块,以使其不可更新。如果这样做,则不会使用芥末颜色。

似乎颜色变化的目的(芥末)是一个视觉线索,该线索尚未提交到数据库的变化。但是,如果数据块不是数据库块,则不需要视觉线索,因为不可能进行更改。

我将DML数据目标类型更改为none,芥末颜色不再出现。

我没有更改的其他设置,但也可能相关的是:

Database Data Block = No
Query Data Source Type = None
Insert Allowed = No
Update Allowed = No
Locking Mode = Delayed
Delete Allowed = No
Update Changed Columns Only = No

即使它是数据库项目,您也可以将项目的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 from Table to None and the mustard color no longer appears.

The other settings which I didn't change but which might also be relevant are:

Database Data Block = No
Query Data Source Type = None
Insert Allowed = No
Update Allowed = No
Locking Mode = Delayed
Delete Allowed = No
Update Changed Columns Only = No

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 its WHEN-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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文