Post on 05-Apr-2015
transcript
Uwe HabermannUwe.Habermann@dFPUG.de
VFX 10.0Visual Extend
Formularerstellung
VFP and Vista
Steve Windows 1.0
Uwe HabermannUwe.Habermann@dFPUG.de
VFX 10.0Visual Extend
Formularerstellung
Formularerstellung• Verwendung von eigenen Klassen
• Onetomany
• PC Builder
• cPickField
• cPickAlternate
• cPickTextbox
• cPickAlterTextbox
Verwendung von Klassen• Funktionalitäten in Klassen speichern
• Steuerelemente in Klassen speichern
ArtikelbearbeitungVFX – CTableForm Builder
• Auswahl der Formularklasse• Einrichten der Datenumgebung
• caProducts
• Klasse hinzufügen• cArtikelBild
• Such-Grid und Bearbeitungsfelder sind nebeneinander angeordnet
• Reentranter Builder(beliebig oft verwendbar)
Onetomany Formulare• 1:n Beziehung in einem Formular
abgebildet
• Basierend auf Tabellen mit Relation möglich
• Basierend auf CursorAdapter mit Where-Klausel
AuftragsbearbeitungVFX – COneToMany Builder
• cOneToMany• Bearbeitung und Suche in Parent-Daten
wie bei cDataFormPage• Bearbeitung von Child-Daten im Grid
• orderid=?caorders.orderid
• Bearbeitung von Child-Daten mit beliebigen Steuerelementen
• Unterstützung mehrerer Children• Fremdschlüssel? VFX macht alles.
Was passiert beim Speichern neuer
Datensätze?• Parent speichern
• Parent ID holen
• Parent ID in allen Children eintragen
• Children speichern
• Foreign Key Name und
• Foreign Key Value beachten
Parameter hinzufügen• Kunden ID
• caorders.customerid• cViewParameter beachten!
• Where Klausel• In VFX – Data Environment Builder eintragen• Customerid = ?thisform.tCustomerid
BeziehungenVFX – Parent/Child Builder• Aufruf eines Child-Formulars
• Beliebig viele Children möglich
• Hierarchische Verknüpfung möglich
• Viele Möglichkeiten zur Steuerung
• Beispiel: Kunden - Aufträge
Kunden auswählenVFX – CPickField Builder
• Auswahl eines Kunden für einen Auftrag• Eingabe der ID
• (Wir denken uns, es wäre die Kundennummer)
• Auswahl eines Kunden aus einer Liste• Alle Suchfunktionen bei Listenauswahl
• Daten werden in Zieltabelle gespeichert
Auswahlliste mit cPickField
• caCustomers der Datenumgebung hinzufügen
• Index auf customerid anlegen
• Relation zu caOrders herstellen
Auswahlliste mit cPickField
• Kundenauswahl
• caCustomers
• caOrders.customerid
• STR(customerid)
• Customerid• caCustomers.companyname• companyname
Kunden auswählenVFX – CPickAlternate
Builder• Auswahl eines Kunden für einen Auftrag
• Eingabe eines Namens• Auswahl eines Kunden aus einer Liste
• Alle Suchfunktionen bei Listenauswahl
• Referenz wird in Zieltabelle gespeichert
Auswahlliste mit cPickAlternate
• Auftrag.scx als AuftragAlternate.scx speichern und dem Projekt hinzufügen
• Name ändern!• In Vfxfopen.dbf eintragen• In der Datenumgebung bei caCustomers
Index auf companyname hinzufügen• VFX – Class Switcher
• cPickField -> cPickAlternate
Auswahlliste mit cPickAlternate
• Kundenauswahl
• caCustomers
• caOrders.customerid
• Companyname
• caOrders.customerid
• Companynam• caCustomers.contactname• Contactname• TRANSFORM(customerid)
Artikel auswählenVFX – CPickTextbox Builder
• Auswahl eines Artikels für einen Auftragsposten• Eingabe der ID
• (Wir denken uns, es wäre die Artikelnummer)
• Auswahl eines Artikels aus einer Liste• Alle Suchfunktionen bei Listenauswahl
• Daten werden in Zieltabelle gespeichert
Auswahlliste mit cPickTextbox
• Auftrag.scx
• caProducts der Datenumgebung hinzufügen
• Index auf productid anlegen
• Relation zu caOrderdetails herstellen
• VFX – CChildGrid Builder• textbox -> cPickTextbox
Auswahlliste mit cPickTextbox
• Artikelauswahl
• caProducts
• TRANSFORM(productid)
• Update:
• productcode;price
• caOrderDetails
• productcode;price
• Productid
Artikel auswählenVFX – CPickAlterTextbox
Builder• Auswahl eines Artikels für einen
Auftragsposten• Eingabe des Artikelcodes• Auswahl eines Artikels aus einer Liste
• Alle Suchfunktionen bei Listenauswahl
• Referenz wird in Zieltabelle gespeichert
Auswahlliste mit cPickAlterTextbox
• AuftragAlternate.scx
• caProducts der Datenumgebung hinzufügen
• Index auf productid anlegen
• Index auf productcode anlegen
• Relation zu caOrderdetails herstellen
• VFX – CChildGrid Builder• textbox für Productcode -> cPickAlterTextbox
Auswahlliste mit cPickAlterTextbox
• Artikelauswahl
• caProducts
• caProduct.productcode
• caOrderDetails.productid
• Update:
• price
• caOrderDetails
• price
• Productcod• TRANSFORM(productcode
)• productid
Zusammenfassung• cTableForm• Onetomany Formular basierend auf CA
• Parameter• Optimierter Datenzugriff
• VFX – Parent/Child Builder• cPickField• cPickAlternate• cPickTextbox• cPickAlterTextbox
Pause!
• Um 14.00 Uhr geht es weiter