Listbox-Paar für Mehrfachauswahl

Previous  Next

 

 

 

01.11.2009

Listbox-Paar für Mehrfachauswahl

Für dieses Beispiel benötigen Sie die Beispiel-Datenbank FAHRZEUGE und das Projekt fahrzeuge.xdev

 

Formular konstruieren:

 

1.Fügen Sie ein Formular ein und verbreitern Sie dieses auf 400 Pixel.
2.Fügen Sie zwei Listboxen mit etwas Abstand nebeneinander in das Formular ein.
3.Fügen Sie zwischen den Listboxen zwei Buttons untereinander ein. Beschriften Sie den ersten Button mit > und den zweiten mit <.

clip0468

 

 

Listbox 1 füllen:

 

4.Klicken Sie die linke Listbox an, wechseln Sie in die Code-Ansicht und wählen Sie das Ereignis hmtoggle_plus1 ON_SHOW ( ) | XDEV NLS: Nach der Darstellung ( ) aus und fügen Sie eine Datenbankabfrage hmtoggle_plus1 XDEV Query | XDEV NLS: XDEV Datenbankabfrage in den Code-Editor ein und klicken Sie diese an, um den SQL-Assistenten aufzurufen. Klicken Sie die Datenbank-Tabelle EXTRAS an, um alle Datenfelder dieser Tabelle zu selektieren. Übernehmen Sie die vom SQL-Assistenten automatisch angebotene Virtuelle Ziel-Tabelle #EXTRAS und klicken Sie auf OK, um den SQL-Assistenten zu schließen.
5.Klicken Sie die Listbox an, um alle Methoden der Listbox in der Bibliothek anzuzeigen. Scrollen Sie in der Bibliothek ganz nach unten, öffnen Sie den Zweig bei hmtoggle_plus1 XdevItemList listItems | XDEV NLS: XdevLeistEinträge listenEinträge und fügen Sie die Methode hmtoggle_plus1 fillFromVT ( ) | XDEV NLS: fülleAusVirtuellerTabelle ( ) per Drag&Drop in den Code-Editor ein. Legen Sie im folgenden Parameter-Dialog zuerst die Virtuelle Quell-Tabelle fest und wählen Sie dazu die Virtuelle Tabelle #EXTRAS aus.  Legen Sie in der zweiten Zeile das Datenfeld EXTRAS fest, aus der die Listbox-Einträge ausgelesen werden sollen. Legen Sie schließlich in der dritten Zeile das Datenfeld ID fest, aus der die IDs der Listbox-Einträge ausgelesen werden sollen und klicken Sie abschließend auf OK.

 

 

Einträge in Listbox 2 übertragen:

 

6.Klicken Sie den oberen Button mit Mehrfachklick an, um zum Code des Buttons zu gelangen und füllen Sie nun die zweite Listbox mit dem selektierten Eintrag der ersten Listbox. Klicken Sie dazu die zweite Listbox an, um alle Methoden der Listbox in der Bibliothek anzuzeigen, scrollen Sie in der Bibliothek ganz nach unten, öffnen Sie den Zweig bei hmtoggle_plus1 XdevItemList listItems | XDEV NLS: XdevLeistEinträge listenEinträge und fügen Sie die Methode hmtoggle_plus1 addRow ( ) | XDEV NLS: zeileHinzufügen ( ) per Drag&Drop in den Code-Editor ein.
7.Geben Sie folgenden Parameter-Dialog zuerst an, welcher Eintrag aus der ersten Listbox der zweiten Listbox hinzugefügt werden soll. Klicken Sie dazu nun die erste Listbox an, um alle Methoden der ersten Listbox in der Bibliothek anzuzeigen und fügen Sie die Methode hmtoggle_plus1 getSelectedItem ( ) | XDEV NLS: holeSelektiertenWert ( ) in die erste Zeile des Parameter-Dialoges ein
8.Übertragen Sie danach die ID des Listbox-Eintrags. Fügen Sie dazu die Methode hmtoggle_plus1 getSelectedData ( ) | XDEV NLS: holeSelektiertenWert ( ) in die zweite Zeile des Parameter-Dialoges ein und klicken Sie abschließend auf OK.

 

 

Einträge aus Listbox 2 löschen:

 

9.Klicken Sie den unteren Button mit Mehrfachklick an, um zum Code des Buttons zu gelangen und löschen Sie nun in der zweiten Listbox den selektierten Eintrag. Klicken Sie dazu die zweite Listbox an, um alle Methoden der Listbox in der Bibliothek anzuzeigen, scrollen Sie in der Bibliothek ganz nach unten, öffnen Sie den Zweig bei hmtoggle_plus1 XdevItemList listItems | XDEV NLS: XdevLeistEinträge listenEinträge und fügen Sie die Methode hmtoggle_plus1 removeRow ( ) | XDEV NLS: zeileEntfernen ( ) per Drag&Drop in den Code-Editor ein.
10.Geben Sie im folgenden Parameter-Dialog an, welcher Eintrag aus der zweiten Listbox entfernt werden soll. Fügen Sie dazu die Methode hmtoggle_plus1 getSelectedIIndex ( ) | XDEV NLS: selektierteZeile( ) in den Parameter-Dialoges ein und klicken Sie abschließend auf OK.

 

hmtoggle_plus1XDEV Object Language

Füllen der linken Listbox:

1

2

3

4

5

ON_SHOW ( )

{

  XDEV Query #EXTRAS << EXTRAS;

  this.listItems.fillFromVT(#EXTRAS, "EXTRAS", "ID");

}

XDEV Query #EXTRAS << EXTRAS

Mit einer Datenbankabfrage wird zuerst die Virtuelle Tabelle #EXTRAS mit allen Extras gefüllt.

 

this.listItems.fillFromVT(#EXTRAS, "EXTRAS", "ID")

Füllt die Listbox mit den Daten aus der Virtuellen Tabelle #EXTRAS.

 

Oberer Button zum Hinzufügen von Listbox-Einträgen:

1

2

3

4

5

6

7

ACTION_PERFORMED ( )

{

  if (Listbox2.listItems.containsData(Listbox.getSelectedData())=false)

  {

    Listbox2.listItems.addRow(Listbox.getSelectedItem(), Listbox.getSelectedData());

  }

}

if (Listbox2.listItems.containsData(Listbox.getSelectedData())=false)

Prüft anhand der ID des selektierten Listbox-Eintrages, ob der in der linken Listbox Listbox selektierte Eintrag in der rechten Listbox Listbox2 noch nicht vorhanden ist.

 

Listbox2.listItems.addRow(Listbox.getSelectedItem(), Listbox.getSelectedData())

Wenn der in der linken Listbox Listbox selektierte Eintrag in der rechten Listbox Listbox2 noch nicht vorhanden ist, wird der Listbox-Eintrag übertragen.

 

 

Unterer Button zum Löschen von Listbox-Einträgen:

1

2

3

4

ACTION_PERFORMED ( )

{

  Listbox2.listItems.removeRow(Listbox2.getSelectedIndex());

}

Listbox2.listItems.removeRow(Listbox2.getSelectedIndex())

Der selektierte Listbox-Eintrag wird aus der Listbox entfernt.

 

 

Eigene Funktion save( ) zum Speichern der Listbox:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

save( )

{

  #FAHRZEUGE_EXTRAS.clear();

 

  Int fahrzeug_ID = Formular.getTagData();

  Int alleZeilen = Listbox2.listItems.getSize();

 

  for (Int aktuelleZeile; aktuelleZeile<alleZeilen; aktuelleZeile = aktuelleZeile+1)

  {

    #FAHRZEUGE_EXTRAS.addRow();

    #FAHRZEUGE_EXTRAS.setValueAt(aktuelleZeile, #FAHRZEUGE_EXTRAS.FAHRZEUGE_ID, fahrzeug_ID);

    #FAHRZEUGE_EXTRAS.setValueAt(aktuelleZeile, #FAHRZEUGE_EXTRAS.EXTRAS_ID, Listbox2.listItems.getData(aktuelleZeile));

  }

  XDEV DeleteDB FAHRZEUGE_EXTRAS;

  #FAHRZEUGE_EXTRAS.synchronizeChangedRows();

}

save( )

Die Methode save( ) wird bei der Listbox hinterlegt und kann z.B. beim Formular-Speichern-Button mit Listbox.save( ); aufgerufen werden.

 

#FAHRZEUGE_EXTRAS.clear( );

Löscht die Virtuelle Tabelle #FAHRZEUGE_EXTRAS, da diese noch Werte enthalten könnte.

 

Int fahrzeug_ID = Formular.getTagData( );

Die Fahrzeug-ID wird aus den Formular-Zusatzdaten ausgelesen, da jedes Extra immer zusammen mit einer Fahrzeug-ID gespeichert wird. Vor dem Aufruf der Methode save( ) muss die Fahrzeug-ID in den Formular-Zusatzdaten hinterlegt werden. Die Fahrzeug-ID kann jedoch auch auf eine andere Weise übergeben werden.

 

Int alleZeilen = Listbox.listItems.getSize( );

Ermittelt die Anzahl der Listbox-Einträge und speichert diese in der Variable alleZeilen.

 

for (Int aktuelleZeile; aktuelleZeile<alleZeilen; aktuelleZeile = aktuelleZeile+1)

Die Schleife wird so oft wiederholt wie Zeilen in der Listbox vorhanden sind.

 

#FAHRZEUGE_EXTRAS.addRow( );

Fügt eine neue, leere Zeile in die Virtuelle Tabelle #FAHRZEUGE_EXTRAS ein.

 

#FAHRZEUGE_EXTRAS.setValueAt(aktuelleZeile, #FAHRZEUGE_EXTRAS.FAHRZEUGE_ID, fahrzeug_ID);

Speichert die Fahrzeug-ID im Datenfeld FAHRZEUG_ID.

 

#FAHRZEUGE_EXTRAS.setValueAt(aktuelleZeile, #FAHRZEUGE_EXTRAS.EXTRAS_ID, Listbox.listItems.getData(aktuelleZeile));

Ermittelt die ID des aktuellen Listbox-Eintrages, und speichert diese im Datenfeld EXTRAS_ID ab.

 

XDEV DeleteDB FAHRZEUGE_EXTRAS;

Löscht alle ID-Paare mit der aktuellen Fahrzeug-ID, um mehrfaches Speichern von ID-Paaren mit der aktuellen Fahrzeug-ID zu verhindern.

 

#FAHRZEUGE_EXTRAS.synchronizeChangedRows( );

Synchronisiert die Virtuelle Tabelle #FAHRZEUGE_EXTRAS mit der entsprechenden Datenbank-Tabelle und speichert so alle ID-Paare ab.

 

 

Eigene Funktion zum Füllen der rechten Listbox bei der Anzeige des Datensatzes:

1

2

3

4

5

6

fill ( )

{

  Int fahrzeug_ID = Formular.getTagData();

  XDEV Query #FAHRZEUGE_EXTRAS_JOIN << FAHRZEUGE_EXTRAS;

  Listbox2.listItems.fillFromVT(#FAHRZEUGE_EXTRAS_JOIN, "EXTRAS", "EXTRAS_ID");

}

fill( )

Füllt die rechte Listbox. Die Methode kann bei der Listbox hinterlegt werden und wird dann nach dem Füllen des Hauptformulars mit this.fill( ) aufgerufen.

 

Int fahrzeug_ID = Formular.getTagData( )

Liest die Fahrzeug-ID aus den Zusatzdaten des Formulars aus. Die Übergabe der ID kann auch auf andere Weise erfolgen.

 

XDEV Query #FAHRZEUGE_EXTRAS_JOIN << FAHRZEUGE_EXTRAS

Datenbankabfrage. Selektiert in der Datenbank-Tabelle FAHRZEUGE_EXTRAS die Datenfelder FAHRZEUGE_ID und EXTRAS_ID sowie in der Tabelle EXTRAS_ID das Datenfeld EXTRAS und speichert das Abfrageergebnis in der Virtuellen Tabelle #FAHRHZEUGE_EXTRAS_JOIN.

 

Listbox2.listItems.fillFromVT(#FAHRZEUGE_EXTRAS_JOIN, "EXTRAS", "EXTRAS_ID")

Füllt die rechte Listbox mit den Daten aus der Virtuellen Tabelle #FAHRZEUGE_EXTRAS_JOIN.

 

hmtoggle_plus1XDEV Basic

Füllen der linken Listbox:

1

2

3

ON_SHOW ( )

  XDEV Query #EXTRAS << EXTRAS

  This.listItems.fillFromVT(#EXTRAS, "EXTRAS", "ID")

XDEV Query #EXTRAS << EXTRAS

Mit einer Datenbankabfrage wird zuerst die Virtuelle Tabelle #EXTRAS mit allen Extras gefüllt.

 

this.listItems.fillFromVT(#EXTRAS, "EXTRAS", "ID")

Füllt die Listbox mit den Daten aus der Virtuellen Tabelle #EXTRAS.

 

Oberer Button zum Hinzufügen von Listbox-Einträgen:

1

2

3

4

ACTION_PERFORMED ( )

  If Listbox2.listItems.containsData(Listbox.getSelectedData())=false Then

    Listbox2.listItems.addRow(Listbox.getSelectedItem(), Listbox.getSelectedData())

  End If

if (Listbox2.listItems.containsData(Listbox.getSelectedData())=false)

Prüft anhand der ID des selektierten Listbox-Eintrages, ob der in der linken Listbox Listbox selektierte Eintrag in der rechten Listbox Listbox2 noch nicht vorhanden ist.

 

Listbox2.listItems.addRow(Listbox.getSelectedItem(), Listbox.getSelectedData())

Wenn der in der linken Listbox Listbox selektierte Eintrag in der rechten Listbox Listbox2 noch nicht vorhanden ist, wird der Listbox-Eintrag übertragen.

 

 

Unterer Button zum Löschen von Listbox-Einträgen:

1

2

ACTION_PERFORMED ( )

  Listbox2.listItems.removeRow(Listbox2.getSelectedIndex())

Listbox2.listItems.removeRow(Listbox2.getSelectedIndex())

Der selektierte Listbox-Eintrag wird aus der Listbox entfernt.

 

 

Eigene Funktion save( ) zum Speichern der Listbox:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

save( )

  #FAHRZEUGE_EXTRAS.clear()

 

  Int fahrzeug_ID = Formular.getTagData()

  Int alleZeilen = Listbox.listItems.getSize()

 

  XFor Int aktuelleZeile, aktuelleZeile<alleZeilen, aktuelleZeile = aktuelleZeile+1

    #FAHRZEUGE_EXTRAS.addRow()

    #FAHRZEUGE_EXTRAS.setValueAt(aktuelleZeile, #FAHRZEUGE_EXTRAS.FAHRZEUGE_ID, fahrzeug_ID)

    #FAHRZEUGE_EXTRAS.setValueAt(aktuelleZeile, #FAHRZEUGE_EXTRAS.EXTRAS_ID, Listbox.listItems.getData(aktuelleZeile))

  Next

 

  XDEV DeleteDB FAHRZEUGE_EXTRAS

  #FAHRZEUGE_EXTRAS.synchronizeChangedRows()

save( )

Die Methode save( ) wird bei der Listbox hinterlegt und kann z.B. beim Formular-Speichern-Button mit Listbox.save( ); aufgerufen werden.

 

#FAHRZEUGE_EXTRAS.clear( );

Löscht die Virtuelle Tabelle #FAHRZEUGE_EXTRAS, da diese noch Werte enthalten könnte.

 

Int fahrzeug_ID = Formular.getTagData( );

Die Fahrzeug-ID wird aus den Formular-Zusatzdaten ausgelesen, da jedes Extra immer zusammen mit einer Fahrzeug-ID gespeichert wird. Vor dem Aufruf der Methode save( ) muss die Fahrzeug-ID in den Formular-Zusatzdaten hinterlegt werden. Die Fahrzeug-ID kann jedoch auch auf eine andere Weise übergeben werden.

 

Int alleZeilen = Listbox.listItems.getSize( );

Ermittelt die Anzahl der Listbox-Einträge und speichert diese in der Variable alleZeilen.

 

for (Int aktuelleZeile; aktuelleZeile<alleZeilen; aktuelleZeile = aktuelleZeile+1)

Die Schleife wird so oft wiederholt wie Zeilen in der Listbox vorhanden sind.

 

#FAHRZEUGE_EXTRAS.addRow( );

Fügt eine neue, leere Zeile in die Virtuelle Tabelle #FAHRZEUGE_EXTRAS ein.

 

#FAHRZEUGE_EXTRAS.setValueAt(aktuelleZeile, #FAHRZEUGE_EXTRAS.FAHRZEUGE_ID, fahrzeug_ID);

Speichert die Fahrzeug-ID im Datenfeld FAHRZEUG_ID.

 

#FAHRZEUGE_EXTRAS.setValueAt(aktuelleZeile, #FAHRZEUGE_EXTRAS.EXTRAS_ID, Listbox.listItems.getData(aktuelleZeile));

Ermittelt die ID des aktuellen Listbox-Eintrages, und speichert diese im Datenfeld EXTRAS_ID ab.

 

XDEV DeleteDB FAHRZEUGE_EXTRAS;

Löscht alle ID-Paare mit der aktuellen Fahrzeug-ID, um mehrfaches Speichern von ID-Paaren mit der aktuellen Fahrzeug-ID zu verhindern.

 

#FAHRZEUGE_EXTRAS.synchronizeChangedRows( );

Synchronisiert die Virtuelle Tabelle #FAHRZEUGE_EXTRAS mit der entsprechenden Datenbank-Tabelle und speichert so alle ID-Paare ab.

 

 

Eigene Funktion zum Füllen der rechten Listbox bei der Anzeige des Datensatzes:

1

2

3

4

fill ( )

  Int fahrzeug_ID = Formular.getTagData()

  XDEV Query #FAHRZEUGE_EXTRAS_JOIN << FAHRZEUGE_EXTRAS

  Listbox2.listItems.fillFromVT(#FAHRZEUGE_EXTRAS_JOIN, "EXTRAS", "EXTRAS_ID")

fill( )

Füllt die rechte Listbox. Die Methode kann bei der Listbox hinterlegt werden und wird dann nach dem Füllen des Hauptformulars mit this.fill( ) aufgerufen.

 

Int fahrzeug_ID = Formular.getTagData( )

Liest die Fahrzeug-ID aus den Zusatzdaten des Formulars aus. Die Übergabe der ID kann auch auf andere Weise erfolgen.

 

XDEV Query #FAHRZEUGE_EXTRAS_JOIN << FAHRZEUGE_EXTRAS

Datenbankabfrage. Selektiert in der Datenbank-Tabelle FAHRZEUGE_EXTRAS die Datenfelder FAHRZEUGE_ID und EXTRAS_ID sowie in der Tabelle EXTRAS_ID das Datenfeld EXTRAS und speichert das Abfrageergebnis in der Virtuellen Tabelle #FAHRHZEUGE_EXTRAS_JOIN.

 

Listbox2.listItems.fillFromVT(#FAHRZEUGE_EXTRAS_JOIN, "EXTRAS", "EXTRAS_ID")

Füllt die rechte Listbox mit den Daten aus der Virtuellen Tabelle #FAHRZEUGE_EXTRAS_JOIN.

 

hmtoggle_plus1XDEV NLS

Füllen der linken Listbox:

1

2

3

Nach der Darstellung ( )

  XDEV Datenbankabfrage #EXTRAS << EXTRAS

  Lokal\listenEinträge\fülleAusVirtuellerTabelle(#EXTRAS, "EXTRAS", "ID")

XDEV Datenbankabfrage #EXTRAS << EXTRAS

Mit einer Datenbankabfrage wird zuerst die Virtuelle Tabelle #EXTRAS mit allen Extras gefüllt.

 

Lokal\listenEinträge\fülleAusVirtuellerTabelle(#EXTRAS, "EXTRAS", "ID")

Füllt die Listbox mit den Daten aus der Virtuellen Tabelle #EXTRAS.

 

Oberer Button zum Hinzufügen von Listbox-Einträgen:

1

2

3

Bei Mausklick ( )

  Wenn (Listbox2\listenEinträge\beinhaltetWert(Listbox\holeSelektierteDaten())=FALSCH)

     Listbox2\listenEinträge\zeileHinzufügen(Listbox\holeSelektiertenWert(), Listbox\holeSelektierteDaten())

Wenn (Listbox2\listenEinträge\beinhaltetWert(Listbox\holeSelektierteDaten())=FALSCH)

Prüft anhand der ID des selektierten Listbox-Eintrages, ob der in der linken Listbox Listbox selektierte Eintrag in der rechten Listbox Listbox2 noch nicht vorhanden ist.

 

Listbox2\listenEinträge\zeileHinzufügen(Listbox\holeSelektiertenWert(), Listbox\holeSelektierteDaten())

Wenn der in der linken Listbox Listbox selektierte Eintrag in der rechten Listbox Listbox2 noch nicht vorhanden ist, wird der Listbox-Eintrag übertragen.

 

 

Unterer Button zum Löschen von Listbox-Einträgen:

1

2

Bei Mausklick ( )

  Listbox2\listenEinträge\zeileEntfernen(Listbox2\selektierteZeile( ))

Listbox2\listenEinträge\zeileEntfernen(Listbox2\selektierteZeile( ))

Der selektierte Listbox-Eintrag wird aus der Listbox entfernt.

 

 

Eigene Funktion save( ) zum Speichern der Listbox:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

save( )

{

  #FAHRZEUGE_EXTRAS.clear();

 

  Int fahrzeug_ID = Formular.getTagData();

  Int alleZeilen = Listbox2.listItems.getSize();

 

  for (Int aktuelleZeile; aktuelleZeile<alleZeilen; aktuelleZeile = aktuelleZeile+1)

  {

    #FAHRZEUGE_EXTRAS.addRow();

    #FAHRZEUGE_EXTRAS.setValueAt(aktuelleZeile, #FAHRZEUGE_EXTRAS.FAHRZEUGE_ID, fahrzeug_ID);

    #FAHRZEUGE_EXTRAS.setValueAt(aktuelleZeile, #FAHRZEUGE_EXTRAS.EXTRAS_ID, Listbox2.listItems.getData(aktuelleZeile));

  }

  XDEV DeleteDB FAHRZEUGE_EXTRAS;

  #FAHRZEUGE_EXTRAS.synchronizeChangedRows();

}

speichern( )

Die Methode speichern( ) wird bei der Listbox hinterlegt und kann z.B. beim Formular-Speichern-Button mit Listbox.speichern( ) aufgerufen werden.

 

#FAHRZEUGE_EXTRAS\löscheAlles(

Löscht die Virtuelle Tabelle #FAHRZEUGE_EXTRAS, da diese noch Werte enthalten könnte.

 

Ganzzahl fahrzeug_ID = Formular\holeZusätzlicheDaten()

Die Fahrzeug-ID wird aus den Formular-Zusatzdaten ausgelesen, da jedes Extra immer zusammen mit einer Fahrzeug-ID gespeichert wird. Vor dem Aufruf der Methode speichern( ) muss die Fahrzeug-ID in den Formular-Zusatzdaten hinterlegt werden. Die Fahrzeug-ID kann jedoch auch auf eine andere Weise übergeben werden.

 

Ganzzahl alleZeilen = Listbox\listenEinträge\anzahlEinträge()

Ermittelt die Anzahl der Listbox-Einträge und speichert diese in der Variable alleZeilen.

 

Zählerschleife (Ganzzahl aktuelleZeile | aktuelleZeile<alleZeilen | aktuelleZeile = aktuelleZeile+1)

Die Schleife wird so oft wiederholt wie Zeilen in der Listbox vorhanden sind.

 

#FAHRZEUGE_EXTRAS\fügeZeileHinzu()

Fügt eine neue, leere Zeile in die Virtuelle Tabelle #FAHRZEUGE_EXTRAS ein.

 

#FAHRZEUGE_EXTRAS\setzeWert(aktuelleZeile, #FAHRZEUGE_EXTRAS\FAHRZEUGE_ID, fahrzeug_ID)

Speichert die Fahrzeug-ID im Datenfeld FAHRZEUG_ID.

 

#FAHRZEUGE_EXTRAS\setzeWert(aktuelleZeile, #FAHRZEUGE_EXTRAS\EXTRAS_ID, Listbox\listenEinträge\holeWert(aktuelleZeile))

Ermittelt die ID des aktuellen Listbox-Eintrages, und speichert diese im Datenfeld EXTRAS_ID ab.

 

XDEV AusDatenbankLöschen FAHRZEUGE_EXTRAS

Löscht alle ID-Paare mit der aktuellen Fahrzeug-ID, um mehrfaches Speichern von ID-Paaren mit der aktuellen Fahrzeug-ID zu verhindern.

 

#FAHRZEUGE_EXTRAS\synchronisiereGeänderteZeilen()

Synchronisiert die Virtuelle Tabelle #FAHRZEUGE_EXTRAS mit der entsprechenden Datenbank-Tabelle und speichert so alle ID-Paare ab.

 

 

Eigene Funktion zum Füllen der rechten Listbox bei der Anzeige des Datensatzes:

1

2

3

4

füllen ( )

  Ganzzahl fahrzeug_ID = Formular\holeZusätzlicheDaten()

  XDEV Datenbankabfrage #FAHRZEUGE_EXTRAS_JOIN << FAHRZEUGE_EXTRAS

  Listbox2\listenEinträge\fülleAusVirtuellerTabelle(#FAHRZEUGE_EXTRAS_JOIN, "EXTRAS", "EXTRAS_ID")

füllen( )

Füllt die rechte Listbox. Die Methode kann bei der Listbox hinterlegt werden und wird dann nach dem Füllen des Hauptformulars mit Lokal\füllen( ) aufgerufen.

 

Ganzzahl fahrzeug_ID = Formular\holeZusätzlicheDaten()

Liest die Fahrzeug-ID aus den Zusatzdaten des Formulars aus. Die Übergabe der ID kann auch auf andere Weise erfolgen.

 

XDEV Datenbankabfrage #FAHRZEUGE_EXTRAS_JOIN << FAHRZEUGE_EXTRAS

Datenbankabfrage. Selektiert in der Datenbank-Tabelle FAHRZEUGE_EXTRAS die Datenfelder FAHRZEUGE_ID und EXTRAS_ID sowie in der Tabelle EXTRAS_ID das Datenfeld EXTRAS und speichert das Abfrageergebnis in der Virtuellen Tabelle #FAHRHZEUGE_EXTRAS_JOIN.

 

Listbox2.listItems.fillFromVT(#FAHRZEUGE_EXTRAS_JOIN, "EXTRAS", "EXTRAS_ID")

Füllt die rechte Listbox mit den Daten aus der Virtuellen Tabelle #FAHRZEUGE_EXTRAS_JOIN.