jr_subtable_init(string dialogElementName, object subtableData, function successCallback, function errorCallback) |
Scroll Zurück Oben Weiter Mehr |
Die Funktion lädt eine gesamte Untertabellenansicht neu und füllt sie mit Daten. Sie dient dazu, mehrere Zeilen auf einmal eingeben zu können, ohne die Zeilen nacheinander anlegen zu müssen. Die bestehenden Daten der Untertabellenansicht werden gelöscht.
Bitte beachten Sie: Beim erneuten Befüllen von Zeilen bleiben die Daten der Spalten erhalten, solange sie nicht an die Funktion mit übergeben werden. Um eine Zeile komplett zu ersetzen, müssen demzufolge alle Spalten mit Werten belegt werden.
Parameter |
Typ |
Beschreibung |
---|---|---|
dialogElementName |
string |
Name der Untertabellenansicht im Dialog (nicht: Name der Untertabellenansicht!) |
subtableData |
object |
JavaScript-Objekt mit den Werten der einzelnen Zeilen (Aufbau s. unten) |
successCallback |
function |
Optional: Angabe einer Callback-Funktion (siehe Beispiele), die nach Erfolg ausgeführt werden soll. Als Parameter wird ihr den Namen der Untertabellenansicht übergeben. |
errorCallback |
function |
Optional: Angabe einer Callback-Funktion, die im Fehlerfall (siehe Beispiele) ausgeführt werden soll. Als Parameter werden ihr den Namen der Untertabellenansicht und die Fehlermeldung übergeben. |
Bitte beachten Sie: Die Callback-Funktionen BeforeRemove und AfterRemove werden während der Ausführung von jr_subtable_init beim Entfernen bereits vorhandener Zeilen aufgerufen. Für jr_subtable_init hinzugefügte Zeilen werden die Callback-Funktionen BeforeAdd und AfterAdd nicht aufgerufen.
Der Parameter subtableData beinhaltet alle Werte aller Zeilen, die gefüllt werden sollen. Dazu der schematische Aufbau des Objekts:
{
rowNr1: {
stvColNameA: wertA,
stvColNameB: wertB,
…,
stvColNameN: wertN
},
…,
rowNrN: {
stvColNameA: wertA,
stvColNameB: wertB,
…,
stvColNameN: wertN
}
}
rowNr1 … rowNrN sind die Zeilennummern, wobei die Nummerierung mit 1 beginnt. Die Werte (wertA, …, wertN) in den einzelnen Zeilenhashes müssen gemäß der JavaScript-Syntaxregeln in einzelne oder doppelte Hochkommata eingeschlossen werden, sofern es sich dabei um Zeichenketten etc. handelt.
Beispiel:
function mySuccessCallback(subtableViewName) {
alert('Initialisierung der Untertabellenansicht ' + subtableViewName + ' erfolgreich.');
}
function myErrorCallback(subtableViewName, errorMessage) {
alert('Fehler bei der Initialisierung der Untertabellenansicht ' + subtableViewName);
}
jr_subtable_init('rechnungen', {
1: {
rechnungsnummer: 837452,
firma: 'Max Mustermann AG'
},
2: {
rechnungsnummer: 294752,
firma: 'Acme Ltd.'
}
}, mySuccessCallback, myErrorCallback);
Die resultierende Untertabellenansicht wird folgende Daten enthalten:
rechnungsnummer |
firma |
---|---|
837452 |
Max Mustermann AG |
294752 |
Acme Ltd. |
Erneuter Aufruf mit Überschreiben von Daten:
{
1: {
rechnungsnummer: 837455
},
2: {
rechnungsnummer: 294755,
firma: 'Acme Systems'
}
}
Ergebnis:
rechnungsnummer |
firma |
---|---|
837455 |
Max Mustermann AG |
294755 |
Acme Systems |