در صفحهای که region ای از نوع Form دارد، کارهای زیر را انجام میدهیم:
ایجاد region نمایش عکس
یک region از نوع static content ایجاد میکنیم
نمای کلی region
- Identification
- Type: Static Content
- Appearance
- Template: Standard
حالت بدون عکس
میخواهیم زمانی نمایش داده شود که دارای تصویر باشد، بنابراین به قسمت Server-side Condition میرویم:
-
بررسی میکنیم که id وجود دارد یا خیر؟ یعنی فرم در حالت ویرایش باز شده باشد.
-
آیا در جدول مربوطه عکسی وجود دارد یا خیر؟
- استفاده از متد
dbms_lob.getlenghtبرای سنجش اندازه فایل
- استفاده از متد
- Server-side Condition
-
Type: Expression
-
Language: SQL
-
SQL Expression:
:P1004_ID is not null and ( select nvl(dbms_lob.getlength(image),0) from cms_news where id = :P1004_ID ) > 0
-
بدین ترتیب با استفاده از region دیگر برای اشیای داخل آن نیازی به بررسی شرط نخواهیم داشت.
آیتم عکس
ایجاد Item
یک آیتم از نوع Display Image به region اضافه میکنیم و مقدار عکس را از آیتم عکس در داخل Form میخوانیم.
- Identification
- Type: Display Image
- Settings
- Based On: BLOB Column specified in Item Source
- Filename Column: فیلد مربوطه در جدول
- MIME Type Column: فیلد مربوطه در جدول
- BLOB Last Update Column: فیلد مربوطه در جدول
- Source
- Form Region: انتخاب فرم
- Column: فیلد تصویر
- Data Type: BLOB
- Query Only: On
دکمه حذف عکس
یک دکمه جهت حذف به region اضافه میکنیم
-
Identification
- Button Name: DELETE_IMAGE
- Appearance | Template Options | Type: Danger
- Icon: fa-trash
- Button Name: DELETE_IMAGE
-
Behavior
- Action: Redirect to URL
- Target: javascript:apex.confirm(‘آیا عکس حذف شود؟’ , ‘DELETE_IMAGE’);
Process حذف
به قسمت Processing میرویم و یک Process ایجاد میکنیم

در قسمت کد، از دستور update برای خالی کردن مقادیر فایل استفاده میکنیم و یا اگر تصاویر در جدولی جداگانه قرار داشت از دستور delete استفاده میکنیم. همچنین شرط اجرای این روال را فشردن دکمه حذف قرار میدهیم.
-
Source
-
Location: Local Database
-
Language: PL/SQL
-
PL/SQL Code:
update cms_news set image = null, image_mimetype = null, image_filename = null, image_lastupd = null where id = :P1004_ID;
-
-
Success Message
- Success Message: حذف با موفقیت انجام شد
-
Server-side Condition
- When Button Pressed: Delete_IMAGE
چینش نهایی (Layout)

نمای فرم
