Seite 1 von 1

Tabelle zurücksetzen

Verfasst: 07.08.2014, 10:27
von mischma
Hallo Zusammen,

um bestimmte Felder und eine dynamische Tabelle meines Formulars [frmReinigung] zurückzusetzen, habe ich einen Button auf der zugehörigen Masterseite erstellt und folgenden Code hinterlegt:

Code: Alles auswählen

Auftrag.#pageSet[0].m_frmReinigung.Schaltfläche2::click - (JavaScript, client)
// Header zurücksetzen
xfa.host.resetData("xfa.form.Auftrag.frmReinigung.Header.chkArbeitsbuehne, xfa.form.Auftrag.frmReinigung.Header.txtArbeitshoehe, xfa.form.Auftrag.frmReinigung.Header.chkTauwasserwanne, xfa.form.Auftrag.frmReinigung.Header.chkLuftleitwaben");

// Footer zurücksetzen
xfa.host.resetData("xfa.form.Auftrag.frmReinigung.Footer.txtServicetechniker, xfa.form.Auftrag.frmReinigung.Footer.txtMarktleitung");
              
var oNodes = xfa.resolveNodes("Auftrag.frmReinigung.tblReinigung.Zeile1[*]") 
for (var i = oNodes.length - 1; i >= 0; i--) 
{
	// Zeile löschen
	Auftrag.frmReinigung.tblReinigung._Zeile1.removeInstance(this.parent.index); 
	// Formular aktualisieren
	xfa.form.recalculate(1);
}

// ---> DAS FUNKTIONIERT NICHT !!! <---
Auftrag.frmReinigung.tblReinigung.Zeile1.Kuehlstelle.rawValue = null;
Auftrag.frmReinigung.tblReinigung.Zeile1.Moebeltyp.rawValue = null;
Auftrag.frmReinigung.tblReinigung.Zeile1.Moebellaenge.rawValue = null;
Auftrag.frmReinigung.tblReinigung.Zeile1.Luefteranzahl.rawValue = null;
Auftrag.frmReinigung.tblReinigung.Zeile1.Flaeche.rawValue = null;
Auftrag.frmReinigung.tblReinigung.Zeile1.Prio.rawValue = null;
Auftrag.frmReinigung.tblReinigung.Zeile1.Serialnummer.rawValue = null;
Auftrag.frmReinigung.tblReinigung.Zeile1.Bemerkung.rawValue = null;
Die Tabelle hat einen Positionszähler [Position], wo eine automatische Nummerierung nach dem Hinzufügen/Löschen einer Zeile erfolgt.

Es funktioniert alles, bis auf das Löschen der Zellinhalte in der übriggebliebenen Tabellenzeile.

Ich bitte um Hilfe.

Vielen Dank und Grüsse, Mike

Tabelle zurücksetzen

Verfasst: 07.08.2014, 10:48
von armine
Hallo Mike,

ich habe den Eindruck, dass du einen aufwendigen Weg suchst.
Einfach ist es mit
Tabelle._Zeile.insertInstance(0, 0) ;
eine neue leere Zeile einzusetzen und mit
Tabelle._Zeile.setInstances(1) ;
die Tabelle auf diese eine neue Zeile zu verkürzen.

vg armine

Tabelle zurücksetzen

Verfasst: 07.08.2014, 12:26
von mischma
Hi Armine,

vielen Dank für Deine schnelle Antwort.

Ich habe es so bei mir eingebaut:

Code: Alles auswählen

// neue Tabelle einsetzen
Auftrag.frmReinigung.tblReinigung._Zeile1.insertInstance(0, 0); 
// Tabelle verkürzen
Auftrag.frmReinigung.tblReinigung._Zeile1.setInstances(1);
Nun werden zwar alle Inhalte der Tabelle korrekt gelöscht, doch die Zeilen bleiben alle stehen :-(

Referenziere ich falsch?

Vielen lieben Dank!

Tabelle zurücksetzen

Verfasst: 07.08.2014, 12:33
von armine
Hallo Mike,

das ist gut möglich. Ist dein Interesse an der Problemlösung so groß, dass dein dafür sogar dein PDF hochladen würdest?

vg armine

Tabelle zurücksetzen

Verfasst: 07.08.2014, 12:44
von mischma
Na klar :-) PDF

Vielen Dank!

Tabelle zurücksetzen

Verfasst: 07.08.2014, 13:51
von armine
Verehrter Meister,

es kann schon sein, dass ein PDF – das mit mehr als zwei Dutzend Fehlermeldungen hochkommt – irgendwelche Einschränkungen zeigt.
Gibt es keine Fehlermeldung, funktioniert der Code. Da könnte ein Zusammenhang bestehen.

Im Übrigen könnte es vorteilhaft sein, wenn du das Papierformat auf DIN A4 abänderst.

vg armine

Tabelle zurücksetzen

Verfasst: 07.08.2014, 14:25
von mischma
Hi Armine,

bitte um Entschuldigung und bedanke mich sehr :-)

habe die Blattgrösse auf A4 eingestellt und alle Fehlermeldungen beseitigt.

Grüsse aus Köln, Mike