根据Oracle APEX 4.0中的项目更改页面标题

时间:2014-07-09 17:11:32

标签: oracle oracle-apex

在Oracle APEX 4.0中,我有一个客户数据库,我希望页面标题更改为我选择编辑的客户名称。我输入了这样的标题: http://i.stack.imgur.com/Bo0cy.png

然而,标签出现如下: http://i.stack.imgur.com/Z41H4.jpg

我做错了什么?

2 个答案:

答案 0 :(得分:1)

使用替换文字设置变量Apex页面属性

  

此解决方案是在apex.oracle.com上由 Oracle Corp。托管的系统上开发的。 APEX(Oracle Application Express)版本目前为4.2.5;尽管OP要求发布4.0版本的建议,但是从Apex的3.x版本到目前为止,所请求的功能已经可以实现。

这个使用有时称为“替换文字”的符号。任何全局或页面级项都适合此定义。如果您在项目开头放置一个&符号(&),在项目末尾放置一个点(。),那么在该会话/上下文中分配给该项目的任何值都将显示为实际值,无论它在何处分配。 / p>

它之所以有用,是因为引用的ITEM可以通过代码,SQL查询和用户输入进行操作......开发人员不再需要直接更改值。

替换值表示法:

    Where the ITEM is a page-level bucket, named: PX_SAMPLE_ITEM
    &PX_SAMPLE_ITEM.

这是非常微妙的,但最后的点是必要的

设置变量页标题

这是可以设置变量应用程序ITEM的地方(页面标题属性):

Variable Page Title Set Up

以下是一些屏幕截图,其中我使用了一个页面级项目,定义为变量SELECT LIST表单元素。选择列表项还设置了REDIRECT属性,以便每次选择或更改新值时页面都会自动刷新并更新页面标题属性。

Variable Page Title Property Example One

Variable Page Title Property Example Two

验证页面配置和设置

如果您在创建页面及其内容时从第一遍开始工作有任何困难,请查看要验证的设置摘要:

  1. 请注意,在应用程序的视图中,PAGE 11是包含我的变量页标题值示例的页面。
  2. Application Layout of Pages

    1. 深入查看第11页的布局属性。P11_PAGE_TITLE是包含您想要的页面标题的存储桶。这可以是静态定义,用户选择的结果等。确保在页面标题定义部分中引用它时创建此项目并使用相同的名称(在下面的步骤/步骤3中突出显示)
    2. Individual Apex Application Page Definition

      1. 注意圆圈区域。这些是需要上面步骤2中提到的页面项的定义/引用的字段。第一个字段,“页面名称”不如第二个字段那么重要,第二个字段是“页面显示”属性的一部分。我填写了两个,但你可能只需要后者。
      2. Substitution Value Placement Within Page Attributes

        打开Display Attributes > Title属性的项帮助文本,内联文档说明插入TITLE字段的内容放在呈现页面HTML代码的<TITLE></TITLE>块内:

        More Page Title Definition Detail: Help Text

        关于此解决方案版本兼容性的扩展讨论

        我无法确切地说明这种方法仍然如上所述的确切版本。我在下面做了一些笔记,回应了@MNT的评论,OP作者关于保持他们的实例及其Apex的版本是最新的。

          

        没问题@MNT,我提到了在4.25(我的解决方案)和4.00(你的版本)中尝试的方法之间可能的兼容性,但请记住,这些版本之间的时间差可能是两年多的升级和后端数据库版本之间的跳跃(Oracle 10g到Oracle 11g R1 ......甚至11g R2)已经发生了很多事情。我想这不是很适合你的情况,但考虑升级。所有APEX补丁和发布升级都是免费的,跟上是很重要的。

             

        为什么保持升级和补丁集(示例)非常重要   单从4.20到4.25的跳跃(根据我的经验)是一个艰难的,因为实际的内部列被删除而索引键消失了......渲染我的导出脚本的存储库是无用的。确保您为此类事件留下后门或声音升级计划(如果您有现有应用程序)。升级后,确实没有回头:(

答案 1 :(得分:0)

声明 l_order_id 编号; 开始 -- 创建集合 —— apex_collection.CREATE_OR_TRUNCATE_COLLECTION ('CUST_ORDER_ITEMS');

-- Loop through the ORDER collection and insert rows into the Order Line Item table
for i in 1..apex_application.g_f01.count loop
    apex_collection.add_member(
        p_collection_name => 'CUST_ORDER_ITEMS',
        p_c001            => to_number(apex_application.g_f01(i)), -- product_id
        p_c002            => to_number(apex_application.g_f02(i)), -- unit_price
        p_c003            => to_number(apex_application.g_f03(i)),  -- quantity
        p_c004            => apex_application.g_f04(i),  -- desc
        p_c005            => apex_application.g_f05(i)  -- unit
    );
end loop;

结束;