Die Anleitung zu Oracle APEX Tabular Form

View more categories:

1- Die Vorstellung

Sie lesen gerade die Anleitung der Programmierung von Oracle APEX 5.0. Das ist die zweite.Anleitungsdokument nach dem Dokument:


Im Dokument leite ich Sie Oracle APEX Database Desktop Application, benutzend  Tabular Form weiter an.

2- Tabular Form benutzend Wizard erstellen

Melden Sie in Or acle APEX mit dem Konto als Programmer an
Gehen Sie in  "Database Application".
Gehen Sie weiter in die Applikation   "Hello Database Desktop Application", die Sie in dem vorherigen Dokument erstellt
In der Applikation gibt es einige in der vorherigen Anleitun erstellten Seite.Klicken Sie auf "Create Page" um eine andere Seite zu erstellen
Ein  Tabular Form erstellen
Geben Sie ein
  • Page: 7
  • Page Name: Emp Tabular Form (7)
Ihre Webseite wird erstellt, klicken Sie auf RUN um die erstellte Seite zu probieren
Das ist das Bild von der Seite 7 beim Laufen
Hier stellt eine Frage, wie wandeln wir einige Input Fields zu SELECT LIST oder POPUP LOV (List of values) um . Zum Beispiel: Sie möchten Manager (MGR) durch POPUP LOV wählen und   Job durch SELECT LIST wählen
Das Design-Bildschirm der Seite 7 rückkehren. Stellen Sie das Attribut für die Spalte JOB ein damit es als eine Auswahlliste (SELECT LIST) anzeigt.
Identification:
  • Type: Select List
List of Values
  • Type: Static Value
  • Static Value:
STATIC:
CLERK;CLERK,
SALESMAN;SALESMAN,
PRESIDENT;PRESIDENT,
MANAGER;MANAGER,
ANALYST;ANALYST
Die Syntax zur Meldung der static Werte (Static Values):
STATIC:Display1;Return1,Display2;Return2
Zunächst stellen Sie das Attribute für den Feld MGR ein damit es als POPUP LOV (List of values) anzeigt
Identification:
  • Type: Popup LOV (shows display values)
List of Values:
  • Type: SQL Query
  • SQL Query: Select emp.ename, emp.empno from Emp
Ähnlich stellen Sie das Attribute für  DEPTNO ein, damit es als ein POPUP LOV anzeigt
Identification:
  • Type: Popup LOV (shows display values)
List of Values
  • Type: SQL Query
  • SQL Query: Select d.dname, d.deptno from Dept d
Speichern und die Seite 7 wieder laufen

3- Tabular Form manuell erstellen

Oben habe ich Sie angeleitet, wie Tabular Form durch die Benutzung von  wizard von  Oracle Apex zu erstellen. Zunächst erstellen wir  Tabular Form ganz vom Anfang ohne die Benutzung von  Wizard. Es hilft Ihnen  bei mehr Verstanden über   Tabular Form & Oracle APEX.
Geben Sie ein
  • Page Number: 8
  • Name: Emp Tabular Form (8)
Eine leere Seite wird erstellt
Tabular Form in der Region vom "Content Body" erstellen
  • Title: Emp Tabular Form (8)
  • Type: Tabular Form
  • SQL Query:
select EMPNO,
       EMPNO EMPNO_DISPLAY,
       ENAME,
       JOB,
       MGR,
       HIREDATE,
       SAL,
       COMM,
       DEPTNO
  from EMP
Sie können die Seite 8 probieren. Das Ergebnis bekommen wir:
Eine Spalte zur Enthaltung von CheckBox erstellen um die Zeile zu wählen
Die Attribut für EMPNO einstellen, diese Spalte bedecken und die Attribut   primary key für die einstellen
Identification
  • Column Name: EMPNO
  • Type: Hidden Column (saves state)

Primary Key Source
  • Type: Existing sequence
  • Name: EMP_SEQ
Die Spalte ENAME:
Identification
  • Column Name: ENAME
  • Type: Text Field
Die Spalte JOB:
Identification
  • Column Name: JOB
  • Type: Select List

List of Values
  • Type: Static Values
  • Static Values:
STATIC:
CLERK;CLERK,
SALESMAN;SALESMAN,
PRESIDENT;PRESIDENT,
MANAGER;MANAGER,
ANALYST;ANALYST
Die Spalte MGR:
Identification
  • Column Name: MGR
  • Type: Popup LOV (shows display values)

List of Values
  • Type: SQL Query
  • Static Values: Select emp.ename, emp.empno from Emp
Die Spalte HIREDATE:
Identification
  • Column Name: HIDEDATE
  • Type: Date Picker
Appearance
  • Format Mask: YYYY-MM-DD
Default
  • Type: PL/SQL Expression
  • PL/SQL Expression: sysdate
Die Spalte SAL:
Identification
  • Column Name: SAL
  • Type: Text Field
SAL (Salary) ist die Zahl-datentyp. So sollen Sie die validation hinzufügen
Identification
  • Name: SAL must be numeric
Validation:
  • Type: Column is numeric
  • Column: SAL
Error
  • Error Message: #COLUMN_HEADER# must have a value.
  • Display Location: Inline with Field and in Notification
Achtung
  • #COLUMN_HEADER# funktioniert als einen Platzhalter (Place Holder), es wird durch den Titel der entsprechenden Spalte bei Runtime ersetzt
Die Spalte COMM:
Identification
  • Column Name: COMM
  • Type: Text Field
Validation für  COMM erstellen, COMM muss die Zahl-Daten sein
Identification
  • Name: COMM must be numeric
Validation:
  • Type: Column is numeric
  • Column: COMM
Error
  • Error Message: #COLUMN_HEADER# must have a value.
  • Display Location: Inline with Field and in Notification
Die Spalte DEPTNO:
Identification:
  • Type: Popup LOV (shows display values)
List of Values
  • Type: SQL Query
  • SQL Query: Select d.dname, d.deptno from Dept d

4- Tabular Form behandeln

Zunächst brauchen wir die Behandlungen wie den Rekord hinzufügen, ändern, löschen.
Den Namen für Button ändern, wie das folgende Beispiel:
Für den Button  Cancel behandeln:
Wenn der Benutzer auf Cancel klicken, wird die Webseite refresh machen (hier ist es die Seite 8).

4.1- Die Rekord neu hinzufügen

Wenn der Benutzer auf   ADD klicken,wird die Tabelle eine neue Zeile automatisch einzufügen, damit der Benutzer die Daten eingeben darf. Sie sollen die Funktion javascript aufrufen um dieses Ding zu machen.
Idetification
  • Button Name: ADD
  • Label: Add

Behavior
  • Action: Redirect to URL
  • Target: javascript:apex.widget.tabular.addRow();

4.2- Viele Datenzeile speichern

Idetification
  • Button Name: SAVE
  • Label: Save

Behavior
  • Action: Submit Page
Der Button  SAVE hat eine Aufgabe zur Speicherung der Rekorden gleichzeitig, umfassend die neuen Rekorden und die geänderten Rekorden. Sie sollen einen Prozess melden um diese Aufgabe zu machen. Process läuft einmal nachdem die Seite aufgeruft wird. Es  update die geänderten Rekorden und   insert die neuen Rekorden
Process hinzufügen:
Idetification
  • Name: ApplyMRU
  • Type: Tabular Form - Multi Row Update

Settings
  • Table Name: EMP
  • Primary Key Column: EMPNO

Execution Options
  • Tabular Form: Emp Tabular Form (8)
  • Run Process: Once Per Page Visit (default)

Success Messages
  • Success Message: #MRU_COUNT# row(s) updated, #MRI_COUNT# row(s) inserted.

Condition
  • When Button Pressed: SAVE (Name of button)
  • Execution Scope: For Created and Modified Rows

4.3- Viele Zeile gleichzeitig löschen

Bearbeiten Sie die Button zur Löschung der gewählten Rekorden ohne die Bestätigung
Sie sollen einen Prozess erstellen um viele Zeile zu erlöschen.  Process wird bei der Aufruf der Seite einmal implementiert
Prozess erstellen
Idetification
  • Name: ApplyMRD_IMMEDIATELY
  • Type: Tabular Form - Multi Row Delete

Settings
  • Table Name: EMP
  • Primary Key Column: EMPNO

Execution Options
  • Tabular Form: Emp Tabular Form (8)
  • Run Process: Once Per Page Visit (default)

Success Messages
  • Success Message: #MRD_COUNT# row(s) deleted.

Condition
  • When Button Pressed: IMMEDIATELY_MULTY_ROW_DELETE (Name of button)
  • Execution Scope: For Created and Modified Rows

 

4.4- Viele Zeile löschen - die Bestätigung vor der Löschung

Vor der Löschung der Rekorden fragt das Programm den Benutzer, ob er zu löschen einverstanden ist oder nicht
Idetification
  • Button Name: MULTI_ROW_DELETE
  • Label: Multi Row Delete

Behavior
  • Action: Redirect URL
  • Target: javascript:apex.confirm('Are you sure to delete?','MULTI_ROW_DELETE');
apex.confirm(...) benutzt die FUnktion  Javascript für die Bestätigung des Benutzer vor der Durchführung des Befehl vom button.
// The function includes 2 parameters, message and Button Name.

apex.confirm('Message ...', 'Button Name');

// Example:

apex.confirm('Are you sure to delete?','MULTI_ROW_DELETE');

// Using variable.
// htmldb_delete_message is a javascript variable
// with value: 'Would you like to perform this delete action?'
// (You need to declare this variable).
apex.confirm(htmldb_delete_message,'MULTI_ROW_DELETE');
// Declare a variable named htmldb_delete_message
var htmldb_delete_message='Would you like to perform this delete action?';

// Or:
// "DELETE_CONFIRM_MSG" is a constant available in APEX.
// It has value: Would you like to delete this thực action?


var htmldb_delete_message='"DELETE_CONFIRM_MSG"';


// Then can use this variable in the whole page.

apex.confirm(htmldb_delete_message,'MULTI_ROW_DELETE');
Um viele Zeile zu löschen, sollen Sie ein Prozess erstellen. Process wird implementiert nachdem die Website aufgeruft wird
Idetification
  • Name: ApplyMRD
  • Type: Tabular Form - Multi Row Delete

Settings
  • Table Name: EMP
  • Primary Key Column: EMPNO

Execution Options
  • Tabular Form: Emp Tabular Form (8)
  • Run Process: Once Per Page Visit (default)

Success Messages
  • Success Message: #MRD_COUNT# row(s) deleted.

Condition
  • Execution Scope: For Created and Modified Rows
  • Type: Request = Value
  • Value: MULTI_ROW_DELETE
  • Execute Condition: Once

 

5- Master-Details

Mehr sehen

6- Sie können sorgen für ..

View more categories: