25
Uwe Habermann [email protected] VFX 10.0 Visual Extend Formularerstellung

Uwe Habermann [email protected] VFX 10.0 Visual Extend Formularerstellung

Embed Size (px)

Citation preview

Page 1: Uwe Habermann Uwe.Habermann@dFPUG.de VFX 10.0 Visual Extend Formularerstellung

Uwe [email protected]

VFX 10.0Visual Extend

Formularerstellung

Page 2: Uwe Habermann Uwe.Habermann@dFPUG.de VFX 10.0 Visual Extend Formularerstellung

VFP and Vista

Steve Windows 1.0

Page 3: Uwe Habermann Uwe.Habermann@dFPUG.de VFX 10.0 Visual Extend Formularerstellung

Uwe [email protected]

VFX 10.0Visual Extend

Formularerstellung

Page 4: Uwe Habermann Uwe.Habermann@dFPUG.de VFX 10.0 Visual Extend Formularerstellung

Formularerstellung• Verwendung von eigenen Klassen

• Onetomany

• PC Builder

• cPickField

• cPickAlternate

• cPickTextbox

• cPickAlterTextbox

Page 5: Uwe Habermann Uwe.Habermann@dFPUG.de VFX 10.0 Visual Extend Formularerstellung

Verwendung von Klassen• Funktionalitäten in Klassen speichern

• Steuerelemente in Klassen speichern

Page 6: Uwe Habermann Uwe.Habermann@dFPUG.de VFX 10.0 Visual Extend Formularerstellung

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)

Page 7: Uwe Habermann Uwe.Habermann@dFPUG.de VFX 10.0 Visual Extend Formularerstellung

Onetomany Formulare• 1:n Beziehung in einem Formular

abgebildet

• Basierend auf Tabellen mit Relation möglich

• Basierend auf CursorAdapter mit Where-Klausel

Page 8: Uwe Habermann Uwe.Habermann@dFPUG.de VFX 10.0 Visual Extend Formularerstellung

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.

Page 9: Uwe Habermann Uwe.Habermann@dFPUG.de VFX 10.0 Visual Extend Formularerstellung

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

Page 10: Uwe Habermann Uwe.Habermann@dFPUG.de VFX 10.0 Visual Extend Formularerstellung

Parameter hinzufügen• Kunden ID

• caorders.customerid• cViewParameter beachten!

• Where Klausel• In VFX – Data Environment Builder eintragen• Customerid = ?thisform.tCustomerid

Page 11: Uwe Habermann Uwe.Habermann@dFPUG.de VFX 10.0 Visual Extend Formularerstellung

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

Page 12: Uwe Habermann Uwe.Habermann@dFPUG.de VFX 10.0 Visual Extend Formularerstellung

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

Page 13: Uwe Habermann Uwe.Habermann@dFPUG.de VFX 10.0 Visual Extend Formularerstellung

Auswahlliste mit cPickField

• caCustomers der Datenumgebung hinzufügen

• Index auf customerid anlegen

• Relation zu caOrders herstellen

Page 14: Uwe Habermann Uwe.Habermann@dFPUG.de VFX 10.0 Visual Extend Formularerstellung

Auswahlliste mit cPickField

• Kundenauswahl

• caCustomers

• caOrders.customerid

• STR(customerid)

• Customerid• caCustomers.companyname• companyname

Page 15: Uwe Habermann Uwe.Habermann@dFPUG.de VFX 10.0 Visual Extend Formularerstellung

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

Page 16: Uwe Habermann Uwe.Habermann@dFPUG.de VFX 10.0 Visual Extend Formularerstellung

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

Page 17: Uwe Habermann Uwe.Habermann@dFPUG.de VFX 10.0 Visual Extend Formularerstellung

Auswahlliste mit cPickAlternate

• Kundenauswahl

• caCustomers

• caOrders.customerid

• Companyname

• caOrders.customerid

• Companynam• caCustomers.contactname• Contactname• TRANSFORM(customerid)

Page 18: Uwe Habermann Uwe.Habermann@dFPUG.de VFX 10.0 Visual Extend Formularerstellung

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

Page 19: Uwe Habermann Uwe.Habermann@dFPUG.de VFX 10.0 Visual Extend Formularerstellung

Auswahlliste mit cPickTextbox

• Auftrag.scx

• caProducts der Datenumgebung hinzufügen

• Index auf productid anlegen

• Relation zu caOrderdetails herstellen

• VFX – CChildGrid Builder• textbox -> cPickTextbox

Page 20: Uwe Habermann Uwe.Habermann@dFPUG.de VFX 10.0 Visual Extend Formularerstellung

Auswahlliste mit cPickTextbox

• Artikelauswahl

• caProducts

• TRANSFORM(productid)

• Update:

• productcode;price

• caOrderDetails

• productcode;price

• Productid

Page 21: Uwe Habermann Uwe.Habermann@dFPUG.de VFX 10.0 Visual Extend Formularerstellung

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

Page 22: Uwe Habermann Uwe.Habermann@dFPUG.de VFX 10.0 Visual Extend Formularerstellung

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

Page 23: Uwe Habermann Uwe.Habermann@dFPUG.de VFX 10.0 Visual Extend Formularerstellung

Auswahlliste mit cPickAlterTextbox

• Artikelauswahl

• caProducts

• caProduct.productcode

• caOrderDetails.productid

• Update:

• price

• caOrderDetails

• price

• Productcod• TRANSFORM(productcode

)• productid

Page 24: Uwe Habermann Uwe.Habermann@dFPUG.de VFX 10.0 Visual Extend Formularerstellung

Zusammenfassung• cTableForm• Onetomany Formular basierend auf CA

• Parameter• Optimierter Datenzugriff

• VFX – Parent/Child Builder• cPickField• cPickAlternate• cPickTextbox• cPickAlterTextbox

Page 25: Uwe Habermann Uwe.Habermann@dFPUG.de VFX 10.0 Visual Extend Formularerstellung

Pause!

• Um 14.00 Uhr geht es weiter