Die Tabelle "Edit Sales"

www.altova.com Alle erweitern/reduzieren Dieses Kapitel drucken Vorherige Seite Eine Ebene nach oben Nächste Seite

Startseite >  Tutorials > Datenbanken und Diagramme >

Die Tabelle "Edit Sales"

Wie die Tabelle "Edit Offices" wurde die Tabelle "Edit Sales" auf einer separaten Toplevel-Seite angelegt. Wenn die Lösung ausgeführt wird, wird diese Seite über die Hauptseite aufgerufen (Abbildung links unten). Wenn Sie auf die Schaltfläche Edit Sales Table klicken, wird die Tabelle "Edit Sales" geladen (Abbildung rechts unten). Die Tabelle "Sales" hat mehrere Zeilen, von denen jede eine nicht editierbare ID-Spalte (Sales Item) sowie die editierbaren Spalten "Office", "Month", "Year" und "Licenses" und ein Steuerelement "Löschen" (siehe Abbildung rechts unten) hat. Zusätzlich dazu befindet sich unterhalb der letzten Zeile ein Steuerelement "Zeile anhängen", eine Absenden-Schaltfläche in der Edit Sales Table-Leiste und eine Zurück-Schaltfläche, um zur vorherigen Seite (in diesem Fall der Hauptseite) zurückzugelangen.

MTDDBCSimulator01   Click to expand/collapse

Beiden Edit-Schaltflächen (erste Abbildung unten) wurde im Design in ihren BeiSchaltflächenklick-Ereignissen (die durch Rechtsklick auf die Schaltfläche und Auswahl von Steuerelementaktionen für BeiSchaltflächenklick angezeigt werden) die Aktion Gehe zu Seite zugewiesen. Diese Gehe zu Seite-Aktionen (zweite Abbildung unten) laden die jeweiligen Zielseiten.

MTDDBCEditButtons

MTDDBCOnButtonPressed

 

Erstellung der editierbaren Tabelle "Sales"

Die Struktur der Tabelle "Sales" der DB wird in der Datenstruktur von $DB2 angezeigt (Abbildung unten). Da das Attribut @id der Primärschlüssel ist, kann es nicht geändert werden, d.h. der Endbenutzer kann bei Anhängen eines neuen Datensatzes über die Lösung keinen @id-Wert eingeben. Der @id-Wert muss automatisch mit Hilfe eines XQuery-Ausdrucks generiert werden. Der XQuery-Ausdruck wird mit dem Kontextmenübefehl Beim Laden auf Vorhandensein überprüfen (XPath-Wert) eingefügt:

 

let $all := $DB2/DB/RowSet/Row/@id

let $ids := remove($allindex-of($all""))

let $id := if (empty($ids)) then 1 else max($ids) + 1

return $id

MTDDBCDataSrcDB2

Im Design nehmen wir die folgenden Änderungen vor:

 

Aufgabe

So geht's

Alle (Sales) Zeilen anzeigen

Fügen Sie eine sich wiederholende Tabelle hinzu, wobei die Zeile Sales das sich wiederholende Element ist.

Steuerelemente zum Löschen und Hinzufügen von Zeilen hinzufügen

Aktiveren Sie beim Hinzufügen der Tabelle die Option, dass Steuerelemente zum Löschen/Hinzufügen automatisch inkludiert werden

Bearbeitung von Werten aktivieren

Fügen Sie eine Auswahlliste und ein Steuerelement "Feld bearbeiten" hinzu, die Seitenquellen-Links haben.

Änderungen wieder in der DB speichern

Fügen Sie zum Ereignis BeiKlickAufAbsenden der Seite eine Aktion Speichern hinzu;

Klicken Sie außerdem mit der rechten Maustaste auf $DB2 und schalten Sie Originalzeilengruppe erstellen ein.

Zurück zur Hauptseite gehen

Fügen Sie zum Seitenereignis BeiKlickAufZurückSchaltfläche die Aktion Gehe zu Seite hinzu.

 

 

Click to expand/collapseHinzufügen einer sich wiederholenden Tabelle, die Anhängen/Löschen-Steuerelemente hat

Wenn Sie das Steuerelement "Tabellen" aus dem Fenster "Steuerelemente" in das Design ziehen, wird das Dialogfeld "Neue Tabelle" angezeigt (Abbildung unten).

Click to expand/collapse

Definieren Sie, dass es sich um eine wiederholte Tabelle handelt, geben Sie die Anzahl der Spalten (5) und Zeilen (2)ein, aktivieren Sie das Kontrollkästchen Automatische Anhängen/Löschen-Steuerelemente und klicken Sie auf OK. Zu den Zellen der ersten Zeile werden Beschriftungen für Kopfzeilen hinzugefügt. Für den nicht editierbaren @id-Wert wird zur ersten Zelle der zweiten Zeile eine Beschriftung hinzugefügt. Für diese Beschriftung wird ein Quell-Node-Link zum @id Node von $DB2 erstellt (DB:id).

MTDDBCTableRepeating03

 

Click to expand/collapseAktivieren der Bearbeitung des editierbaren Node

Für die Niederlassung wird eine Auswahlliste (mit einem Quell-Node-Link zu @Office) hinzugefügt und für die Zellen "Month", "Year" und "Licences" werden Bearbeitungsfelder mit Seitenquellen-Links zu den entsprechenden Nodes hinzugefügt.

MTDDBCTableRepeating03

 

Click to expand/collapseSeitenaktionen: 'Speichern' und 'Gehe zu Seite'

Klicken Sie auf Seite | Seitenaktionen, um das Dialogfeld "Seitenaktionen" (Abbildung unten) zu öffnen.

MTDDBCEditSalesPageActions

Für die folgenden Elemente sind Aktionen definiert:

 

BeiKlickAufAbsenden: Speichert alle Spalten der Seite in der DB ($DB1) und geht zurück zur Hauptseite. Sie sollten eventuell auch die Aktion "Neu laden" hinzufügen, damit die Datenbank mit den ungeänderten Daten neu geladen wird, falls der Datensatz nicht in der Datenbank gespeichert wird. (siehe Abbildung unten).
BeiKlickAufZurückSchaltfläche: Geht zurück zur Hauptseite.
 
MTDDBCEditOfficesPageActions02

 

Die Struktur der Seitenquelle muss auch ein OriginalRowSet-Element, welches eine Kopie des Elements RowSet ist, enthalten. Die Originaldaten werden im Element OriginalRowSet gespeichert, damit die Spalten des Elements RowSet bearbeitet werden können. Der neue Wert wird nur beim Speichern der Daten in der DB im Element OriginalRowSet aktualisiert.


 


© 2019 Altova GmbH