2026年6月18日木曜日

APEX 26.1で追加されたボタンの属性「無効として表示」を確認する

Oracle APEX 26.1でボタンの属性として「無効として表示」が追加されました。オンラインヘルプの説明は以下です。
定義されたサーバー側の条件がFALSEと評価される場合に、ボタンまたはメニュー・エントリを非表示にするのではなく、無効としてレンダリングするかどうかを指定します。

今ひとつピンとこなかったので、動作について確認してみました。

以下のようにページを作成し、ページ・アイテムP1_ITEM1P1_ITEM2の間にボタンBUTTONを配置します。


このとき、ボタンの外観無効として表示オフ(これが26.1以前の設定です)で、サーバー側の条件falseになるとき、ページは以下のように表示されます。ボタン要素は生成されず、ページにボタン要素が無いため、ページに表示されません。


このとき都合が悪いのは、ページのレイアウトが崩れることです。

APEX 26.1で新たに追加された無効として表示オンにすると、サーバー側の条件falseのときに、ボタンは無効の状態で表示されます。ページのレイアウトは変わりません。


サーバー側の条件でボタンを除外するのは、単に無効にするだけではなく、ボタンに紐づけた動作の呼び出しをブラウザから直接実行されるのを防ぐ効果があります。ボタン要素がページ上に存在しないので、JavaScriptコンソールから直接呼び出してクリックすることはできません。

レイアウトを崩さないようにするため、サーバー側の条件の代わりにページ・ロード時にボタンを無効化する動的アクションを作成できます。


このようにした場合、以下のように表示上は同じであり、ボタンはクリックできなくなっています。


しかし、動的アクション有効化を呼び出すか、それと等価な処理をブラウザ上で実行すると、ボタンを押せるようになります。


ボタンを押せるようになると、ブラウザのJavaScriptコンソールより以下のようなコードを実行することで、ボタンに紐づいたアクションを実行できます(ボタンにHTML DOM IDとしてmyButtonを割り当ててあります - 26.1から詳細静的IDHTML DOM IDという属性名に変わっています)。

document.getElementById("myButton").click();


ボタンの外観無効として表示オンとし、サーバー側の条件falseのときに表示されているボタンは、ボタンとして有効化しても、アクションを呼び出すことはできません。

ボタンを有効化すると見た目は有効に見えるようになりますが、画面上でボタンをクリックしても、JavaScriiptでclick()を呼び出しても、ボタンに紐づいたアクションは呼び出されません。


JavaScriptコンソールから以下を実行しても、動作しません。

document.getElementById("myButton").click();


サーバー側の条件による除外で期待されているセキュリティ面での要件を満たしつつ、ページ・レイアウトは崩さない設定になっています。

簡単なアプリケーションですが、動作確認に使用したAPEXアプリケーションのエクスポートを以下に置きました。


Oracle APEXのアプリケーション作成の参考になれば幸いです。

APEX 26.1で追加されたボタンによるメニューを実装する

Oracle APEX 26.1ではボタンの動作として2つのタイプが設定されました。標準メニューです。


標準はボタンをクリックしたときに、設定したアクションを実行します。これは26.1までのボタンの動作です。タイプとしてメニューを選択すると、ボタンにエントリとして作成されたメニューを表示します。

26.1までは、このような動作をするボタンは、メニュー・ポップアップやメニュー・ウィジェットを使って実装していました。以下の2本の記事で、メニューの実装を紹介しています。

記事1:メニュー・ポップアップから任意の処理を呼び出す

以下のGIF動画は、メニューをAPEX 26.1の動作タイプメニューのボタンで実装した動作です。動作自体は、それまでの実装とほとんど変わりません(メニュー・ウィジェットの実装では、選択されたエントリにマークを付けたり、メニュー・エントリを動的に生成することができます)。


オラクル社のToufiq Mohammedさんが、公式ブログの記事「Trigger Actions Bring Declarative Interactivity to Oracle APEX」の中(Buttons Now Support Declarative Menus)で、このメニューについて紹介されています。この記事自体は、主にAPEX 26.1で追加されたトリガー・アクションについて解説しています。記事中でトリガー・アクションでは(動的アクションとは異なり)、デフォルトで2重クリックが発生しないように対応済みと紹介されています。

以前の記事を読み返しましたが、メニュー・ポップアップとメニュー・ウィジェットの双方とも、手の込んだ実装になっていると感じました。

以下より、APEX 26.1でのメニューの実装方法について紹介します。今までの方法とは異なり、宣言的に実装できます。

ボタンSELECT_JOB動作タイプとしてメニューを選択します。


タイプメニューを選択すると、ボタンの下にノードとしてメニューが現れます。

その上でコンテキスト・メニューを表示し、メニューの作成を実行します。


メニューとしてANALYSTCLERKSALESMANMANAGERPRESIDENTを作成します。レポートの表示を絞り込む条件として、これらのメニューを選択します。

メニューの動作タイプとしてトリガー・アクションを選択します。


トリガー・アクションとして値の設定を選びます。

設定タイプ設定静的割当てを選択し、としてANALYSTメニュー名に合わせます)を設定します。

この値の設定先となるコンポーネントを影響を受ける要素に設定します。選択タイプアイテムを選び、アイテムとしてP4_JOBを設定します。この設定により、このメニューを選択したときにアイテムP4_JOBに値ANALYSTが設定されます。

検索条件の一部であるP4_JOBの値が変更されたときにレポートEmployeesがリフレッシュされるように、変更イベントの禁止オフにします。


ページ・アイテムP4_JOB動的アクションを作成します。タイミングイベント変更です。


動的アクションのTrueアクションとしてリフレッシュを選択します。影響を受ける要素選択タイプリージョンを選び、リージョンとしてEmployeesを設定します。

以上で、ボタンSELECT_JOBのメニューのエントリが選ばれたときに、ページ・アイテムP4_JOBに値が設定され、そのページ・アイテムの値の変更をトリガーとして、リージョンEmployeesの表示が更新されるようになりました。

JavaScriptによるコーディングはすべて削除しています。


APEX 26.1で追加された機能のひとつ、APEXlangビューを実行してJavaScriptのコードがページに含まれていないことを確認します。


APEXlangではコードは```で囲まれますが、APEXlangで出力したページにはJavaScriptに限らず、コードが含まれていないことが確認できます。


APEX 26.1ではメニューの作成が宣言的になり、簡単に実装できるようになりました。

今回の記事は以上になります。

以前のメニューの実装も含めた、APEX 26.1のメニューの実装例を以下にエクスポートしました。


Oracle APEXのアプリケーション作成の参考になれば幸いです。

サンプル・データセットのEMP/DEPTを元にAPEX Blueprintを作成しBlueprintからAPEXアプリケーションを生成する

オラクル社の公式ブログに、Oracle APEX 26.1の新機能であるBlueprintに関する記事が投稿されています。

Scaffolding Oracle APEX Applications using Blueprints

本ブログもAPEX Blueprintについて、こちらの記事で紹介しています。公式ブログの記事を読んでいて気が付いたのですが、GitHubで公開されているBlueprintsのexamplesにsupply-chain-managementが追加されています。


本ブログの過去記事はorder-entryを扱っていました。オラクルの公式ブログの記事はsupply-chain-managementを扱っています。order-entryとsupply-chain-managementはfunctional requirementsは異なりますが、両方ともにBlueprintを出力するために、prompt以下のblueprint-prompt.mdおよびapex-fa-icons-allowlist.txtを参照しています。

つまり、prompt以下のファイルを使って、order-entryやsupply-chain-managementではない、自分で定義した機能要件定義書に基づいたAPEX Blueprintが生成できるはずです。

サンプル・データセットのEMP/DEPTを元に、従業員を管理するAPEXアプリケーションのBlueprintを作成し、それを元にAPEXアプリケーションを作ってみます。Blueprintの生成にOpenAI Codex(デスクトップ・アプリ)を使用します。

作業環境としてMacbook Proのコンテナ環境で実行しているOracle AI Database 26ai FreeとOracle APEX 26.1.1を使用します。

サンプル・データセットのEMP/DEPTをインストールしたのち、記事「APEX 26.1に含まれるパッケージAPEX_DB_DICTIONARYを使って表の説明を生成する」で紹介した、表にコメントやアノテーションを追加するスクリプトを実行しておきます。

作業ディレクトリとしてblueprint-emp-deptを作成します。

mkdir blueprint-emp-dept
cd blueprint-emp-dept

% mkdir blueprint-emp-dept 

% cd blueprint-emp-dept

blueprint-emp-dept % 


Gitで管理しませんが、Codexが認識するためgit initを実行しておきます。

git init

blueprint-emp-dept % git init

Initialized empty Git repository in /Users/______/Documents/blueprint-emp-dept/.git/

blueprint-emp-dept % 


Blueprintの生成には不要だと思いますが、念のためにAPEXlangのスキルとSQLcl MCPサーバーを構成します。Microsoft APMを使用します。

ファイルapm.ymlを作成します。
name: emp-dept
version: 0.1.0
description: Oracle APEX 26.1のAPEXlangを使ってアプリケーションを作成する。
author: Yuji
dependencies:
  apm:
    # Oracle Database Skills
    - git: https://github.com/oracle/skills
      path: db
      ref: main
    # Oracle APEXlang Skills
    - git: https://github.com/oracle/skills
      path: apex
      ref: main
  mcp:
    - name: oracle-apexdev
      registry: false
      transport: stdio
      command: /opt/homebrew/Caskroom/sqlcl/26.1.2.132.1334/sqlcl/bin/sql
      args:
        - -R
        - "4"
        - -mcp
Codex向けにスキルとMCPサーバーをインストールします。Claude Codeで作業を行なう方は、targetの指定はclaudeになります。

apm install --target codex

blueprint-emp-dept % apm install --target codex

[>] Installing dependencies from apm.yml...

[>] Resolving skills-db...

[>] Resolving skills-apex...

[i] Targets: codex  (source: --target flag)

  [+] github.com/oracle/skills/apex#main #main @b31c5175

  |-- Skill integrated -> .agents/skills/

  [+] github.com/oracle/skills/db#main #main @b31c5175

  |-- Skill integrated -> .agents/skills/

[i] Added apm_modules/ to .gitignore

+- MCP Servers (1)

[i] Skipped MCP config for claude  (active targets: codex)

|  [>]  oracle-apexdev (self-defined, stdio)

|     +- Configuring for Codex...

[*] Configured MCP server 'oracle-apexdev' for Codex CLI

  + oracle-apexdev

|  [+]  oracle-apexdev -> Codex (configured)

[*] Configured 1 server


[*] Installed 2 APM dependencies and 1 MCP server in 2.3s.

blueprint-emp-dept % 


GitHubよりBlueprintを生成するために参照するプロンプトを取得します。


blueprint-prompt.mdapex-fa-icons-allowlist.txtをプロジェクトのディレクトリにコピーします。

blueprint-emp-dept % ls

apex-fa-icons-allowlist.txt apm.lock.yaml blueprint-prompt.md

apm_modules apm.yml

blueprint-emp-dept % 


EMP/DEPTのスキーマ定義をemployees-management-schema.mdとして作成します。

ユーティリティ表の説明を実行します。


説明の対象としEMPDEPTEMP_DEPT_Vを選択し、DESCRIBEを実行します。書式Markdownを選択します。

表に説明が出力されるのでダウンロードをクリックして、ファイルdescribe_tables.mdに出力します。


ダウンロードされたファイルdescribe_tables.mdをプロジェクト・フォルダ以下にemployees-management-schema.mdとして配置します。

blueprint-emp-dept % ls

apex-fa-icons-allowlist.txt apm.lock.yaml blueprint-prompt.md

apm_modules apm.yml employees-management-schema.md

blueprint-emp-dept % 


APEXアプリケーションを作成するために、この他に機能要件定義書が必要です。

詳細な機能要件定義書を一から書くのは大変なので、Codexに書いてもらいました。Codexのデスクトップ・アプリを起動し、プロジェクトとしてフォルダblueprint-emp-deptをアタッチします。

以下のプロンプトで機能要件定義書を生成します。

「従業員マネージメント・アプリケーションのブループリントを作りたい。

Oracle Databaseにemployees-management-schema.mdに記述されているスキーマが定義されていることを前提として、表EMPに登録されている従業員の一覧を表示するレポートのページと、レポート上に一覧されている従業員を選択し、所属(所属は表DEPTを参照する)、給与、手当を更新できるフォームを開く。

また、新規に従業員の登録と、既存の従業員の削除も可能とする。

これらの要件を機能要件定義書として、Markdown形式のファイルとして生成してください。

生成するファイルの名前はemployees-management-functional-requirements.mdとします。」


生成された機能要件定義書はこちらです。

この機能要件定義書からBlueprintを生成します。以下のプロンプトを与えます。

「blueprint-prompt.mdおよびapex-fa-icons-allowlist.txtより、Oracle APEXのblueprintをemployees-management-blueprint.mdとして生成してください。

以下のファイルの内容だけが、生成するAPEX blueprintの要件定義書になります。

employees-management-functional-requirements.md

employees-management-schema.md

Application Name, Region Name, Column Nameはすべて英語にしてください。

マークダウンの##、###、####に続くアプリケーション、ページ、リージョンなどの名前は、すべて英語にしてください。」

生成されるBlueprintのアプリケーション、ページおよびリージョンの名前に日本語が含まれていると、Blueprintから生成されたAPEXlangに日本語の識別子が含まれることになり、インポート時にエラーが発生します。そのため、プロンプトの末尾で英語にするよう指示しています。

blueprint-prompt.mdなどに追加するか、個別のスキルとして登録すると、毎回同じ指示をする必要は無くなるでしょう。


employees-management-blueprint.mdが出力されました。

APEXワークスペースに、ファイル・タイプとしてアプリケーション・ブループリントを選択してインポートします。


生成されたBlueprintに問題がなければ、アプリケーションのインポートに成功します。


アプリケーションを実行し、作成されたアプリケーションを確認します。

ページ1に対話モード・レポートが作成されていました。


従業員のフォームも開きます。


対話モード・レポートの列ラベルやフォームのアイテム・ラベルが英語になっています。これは、Blueprintを生成する際に「英語で」と指定したのが拡大解釈されたもようです。

以下のプロンプトを与えて、Blueprintを更新します。

「Description、Comments、Label、Titleとなる文字列は、スキーマ定義から参照できる日本語文字列にしてください。」


生成されたBlueprintをAPEXワークスペースにインポートし直し、アプリケーションを実行します。

出力されたemployees-management-blueprint.mdです。

ページ1の対話モード・レポートの列ラベルは日本語になりました。


フォームのアイテム・ラベルについても、日本語になりました。


概ね、従業員の作成、更新、削除は実装されているようです。

Blueprintから生成されたAPEXアプリケーションのエクスポートを以下に置きました。


今回の記事は以上になります。

Oracle APEXのアプリケーション作成の参考になれば幸いです。

2026年6月17日水曜日

ドロワーを画面下から表示する - Codexを使って

Oracle APEX 26.1のUniversal Themeより、ドロワーを画面右から以外に、画面の上下左右のどこからでも表示させることができるようになりました。

Tomas Kucharzykさんのブログで紹介されています。

Oracle APEX 26.1 Finally Gets Top and Bottom Drawers
https://kuchatom.hashnode.dev/oracle-apex-26-1-finally-gets-top-and-bottom-drawers

記事と同じことを行なっても仕方がないので、Codexに指示を出して右から表示されるドロワーを画面下から表示するように変更させてみました。変更を指示したプロンプトは以下です。

「demonstration-emp-dept以下にあるAPEXアプリケーションの、Page 4とpage 6のドロワーを画面下から表示するように変更してください。」

結果として、アプリの動作は以下のように変更されました。


サンプル・データセットEMP/DEPTをインストールして作成したアプリケーションdemonstration-emp-deptを使って、作業しています。

以下、実施した作業について紹介します。作業環境はMacbook ProのmacOS Tahoe 26.5.1です。

作業ディレクトリとしてemp-dept-drawerを作成し、移動します。

mkdir emp-dept-drawer
cd emp-dept-drawer

APEXlangのスキルのインストールにMicrosoft APMを使用します。バージョン0.20.0では、Codex向けにMCPサーバーもインストールできました。

emp-dept-drawer % apm --version

Agent Package Manager (APM) CLI version 0.20.0 (43a00c2)

emp-dept-drawer % 


ファイルapm.ymlを作成し、以下の内容を記述します。
name: emp-dept-drawer
version: 0.1.0
description: Oracle APEX 26.1のAPEXlangを使ってアプリケーションを作成する。
author: Yuji
dependencies:
  apm:
    # Oracle Database Skills
    - git: https://github.com/oracle/skills
      path: db
      ref: main
    # Oracle APEXlang Skills
    - git: https://github.com/oracle/skills
      path: apex
      ref: main
  mcp:
    - name: oracle-apexdev
      registry: false
      transport: stdio
      command: /opt/homebrew/Caskroom/sqlcl/26.1.2.132.1334/sqlcl/bin/sql
      args:
        - -R
        - "4"
        - -mcp
プロジェクトにスキルとMCPサーバーをインストールします。

apm install --target codex

emp-dept-drawer % apm install --target codex


[>] Installing dependencies from apm.yml...

[i] Targets: codex  (source: --target flag)

  [+] github.com/oracle/skills/apex#main #main @b31c5175 (cached)

  |-- Skill integrated -> .agents/skills/

  [+] github.com/oracle/skills/db#main #main @b31c5175 (cached)

  |-- Skill integrated -> .agents/skills/

+- MCP Servers (1)

[i] Skipped MCP config for claude  (active targets: codex)

|  [>]  oracle-apexdev (self-defined, stdio)

|     +- Configuring for Codex...

[*] Configured MCP server 'oracle-apexdev' for Codex CLI

  + oracle-apexdev

|  [+]  oracle-apexdev -> Codex (configured)

[*] Configured 1 server


[*] Installed 2 APM dependencies and 1 MCP server in 2.4s.

emp-dept-drawer % 


ファイル自体はGitで管理しませんが、Codexが認識するためgit initを実行しておきます。

git init

emp-dept-drawer % git init

Initialized empty Git repository in /Users/ynakakoshi/Documents/emp-dept-drawer/.git/

emp-dept-drawer % 


最新のCodexでは、macOS上で--sandbox workspace-writeの指定が不要になったようです。

emp-dept-drawer % codex --version

codex-cli 0.140.0

emp-dept-drawer % 


SQLclでAPEXのワークスペース(のスキーマ)に接続し、変更対象のAPEXアプリケーションをエクスポートします。対象のAPEXアプリケーションのアプリケーションIDは112でした。

apex export -api 112 -exptype apexlang

emp-dept-drawer % sql -name local-26ai-apexdev


SQLcl: 水 6月 17 17:49:30 2026のリリース26.1 Production


Copyright (c) 1982, 2026, Oracle.  All rights reserved.


接続先:

Oracle AI Database 26ai Free Release 23.26.1.0.0 - Develop, Learn, and Run for Free

Version 23.26.1.0.0


SQL> apex export -api 112 -exptype apexlang

ワークスペースAPEXDEVをエクスポートしています - アプリケーション112:Demonstration - EMP / DEPT

ファイルdemonstration-emp-dept/application.apxが作成されました


SQL> exit

Oracle AI Database 26ai Free Release 23.26.1.0.0 - Develop, Learn, and Run for Free

Version 23.26.1.0.0から切断されました

emp-dept-drawer %


Codexを起動し、先ほどのプロンプトを与えます。

6分35秒かけて、ドロワーを下から表示するような変更が完了しています。APEXlangのスキルに「CRUDドロワーは右から表示する」というルールが定義されているため、検証に失敗している模様です。

emp-dept-drawer % codex                        

╭──────────────────────────────────────────────╮

│ >_ OpenAI Codex (v0.140.0)                  

                                             

│ model:     gpt-5.5 medium   /model to change │

│ directory: ~/Documents/emp-dept-drawer      

╰──────────────────────────────────────────────╯


  Tip: New Use /fast to enable our fastest inference with increased plan usage.



demonstration-emp-dept以下にあるAPEXアプリケーションの、Page 4とpage 6のドロワーを画面下から表示するように変更

    してください。



APEXアプリの構造とこのリポジトリのAPEXlang手順に沿って確認します。まず該当スキルの指示を読み、Page 4/6 の定義を

  探します。


Explored

  List demonstration-emp-dept

    Read SKILL.md (apex skill), SKILL.md (apexlang skill)


──────────────────────────────────────────────────────────────────────────────────────────────────────────────────


対象アプリは demonstration-emp-dept と明示されており、Page 4/6 のファイルも確認できました。次にドロワー属性がど

  こで定義されているかを絞ります。


Explored

  Search drawer|Drawer|position|Position|dialog|Dialog|inline|template|templateOption|pageMode|mode in p00004-

           employee.apx

    Search drawer|Drawer|position|Position|dialog|Dialog|inline|template|templateOption|pageMode|mode in p00006-

           department.apx

    Read p00006-department.apx, p00004-employee.apx


──────────────────────────────────────────────────────────────────────────────────────────────────────────────────


Page 4/6 はどちらも dialogTemplate: @/drawer で、現在は js-dialog-class-t-Drawer--pullOutEnd により右端から出る

  設定です。Universal Theme の既存クラス名に合わせて、下から出るドロワー用のオプション名を確認します。


Explored

  Search t-Drawer--pull|pullOut|Drawer in demonstration-emp-dept

    Search Drawer--pullOut in apexlang

    Search *.apx in .


──────────────────────────────────────────────────────────────────────────────────────────────────────────────────


APEXlang のテンプレート定義で、下から表示する値は js-dialog-class-t-Drawer--pullOutBottom と確認できました。Page

  4 と Page 6 の該当テンプレートオプションだけを差し替えます。


Edited 2 files (+2 -4)

  demonstration-emp-dept/pages/p00004-employee.apx (+1 -2)

      9              #DEFAULT#

     10 -            js-dialog-class-t-Drawer--pullOutEnd

     10 +            js-dialog-class-t-Drawer--pullOutBottom

     11          ]

       

    413  )

    414 -


  demonstration-emp-dept/pages/p00006-department.apx (+1 -2)

      9              #DEFAULT#

     10 -            js-dialog-class-t-Drawer--pullOutEnd

     10 +            js-dialog-class-t-Drawer--pullOutBottom

     11          ]

       

    278  )

    279 -


──────────────────────────────────────────────────────────────────────────────────────────────────────────────────


変更は最小差分で入れました。これから APEXlang のローカル検証を通して、構文と属性の整合性を確認します。


Ran git diff -- demonstration-emp-dept/pages/p00004-employee.apx demonstration-emp-dept/pages/

  p00006-department.apx

  └ (no output)


Ran node .agents/skills/apex/apexlang/tools/apexctl.mjs apexlang validate --app-path /Users/ynakakoshi/

  Documents/emp-dept-drawer/demonstration-emp-dept

  └ Vocabulary compatibility check passed.

    APEXLANG_DSL_LINT_FAILED

    … +53 lines (ctrl + t to view transcript)

    VALIDATION_LINT_OK

    APEXLANG_LOCAL_CHECK_FAILED


──────────────────────────────────────────────────────────────────────────────────────────────────────────────────


ローカル検証は既存のアプリ全体の lint 問題で失敗しました。今回の要件で入れた pullOutBottom も、検証ルールのデ

  フォルト推奨「右ドロワー」規則に引っかかりますが、APEXlang のテンプレート上は下ドロワーの有効値です。差分を確認

  します。


Explored

  Search js-dialog-class-t-Drawer--pullOut in p00004-employee.apx


Ran git status --short

  └ ?? .agents/

    ?? .codex/

    … +2 lines (ctrl + t to view transcript)

    ?? apm.yml

    ?? demonstration-emp-dept/


Ran git diff --stat

  └ (no output)


──────────────────────────────────────────────────────────────────────────────────────────────────────────────────


変更しました。


  - demonstration-emp-dept/pages/p00004-employee.apx:10

  - demonstration-emp-dept/pages/p00006-department.apx:10


  どちらも js-dialog-class-t-Drawer--pullOutEnd から js-dialog-class-t-Drawer--pullOutBottom に変更済みです。


  検証として apexctl.mjs apexlang validate を実行しましたが、アプリ全体の既存 lint 問題と、検証ルール側の「CRUD

  drawer は右表示がデフォルト」という警告により失敗しました。今回指定の「画面下から表示」に必要な値自体は APEXlang

  テンプレート定義上の有効値です。


─ Worked for 6m 35s ──────────────────────────────────────────────────────────────────────────────────────────────


 

Improve documentation in @filename

 

  gpt-5.5 medium · ~/Documents/emp-dept-drawer


変更されたAPEXアプリケーションをSQLclで直接インポートします。

apex import -input ./demonstration-emp-dept

emp-dept-drawer % sql -name local-26ai-apexdev


SQLcl: 水 6月 17 18:30:18 2026のリリース26.1 Production


Copyright (c) 1982, 2026, Oracle.  All rights reserved.


接続先:

Oracle AI Database 26ai Free Release 23.26.1.0.0 - Develop, Learn, and Run for Free

Version 23.26.1.0.0


SQL> apex import -input ./demonstration-emp-dept

アプリケーションID: 112をワークスペース: APEXDEVにインポートしています

インポートに成功しました。


SQL> exit

Oracle AI Database 26ai Free Release 23.26.1.0.0 - Develop, Learn, and Run for Free

Version 23.26.1.0.0から切断されました

emp-dept-drawer % 


インポートされたAPEXアプリケーションは、記事の先頭にあるGIF動画のように動作しました。

変更された属性の場所をページ・デザイナ上で確認します。

ページ・プロパティ外観テンプレート・オプション(ダイアログ・テンプレートはDrawer)を開きます。


ドロワーが表示される位置はStart(左)、End(右)、Top、Bottomから選択できます。SizeはSmall、Medium、Large、Extra Largeから選択します。


今回の記事は以上になります。

Oracle APEXのアプリケーション作成の参考になれば幸いです。