Arrayproblem
svwler
- javascript
0 LX
Ich hab ein mehrdimensionalles Array mit mehreren Daten erstellt.
for (zaehler = 0; (zaehler < j) && (foundAnz == 0); zaehler++) {
if (prodzeile[zaehler][3] == Ch_Date && prodzeile[zaehler][0] == LibPrd)
foundAnz = 1;
}
if (foundAnz == 0) {
prodzeile[j] = new Array();
prodzeile[j][0] = LibPrd;
prodzeile[j][1] = Qty;
prodzeile[j][2] = Charge;
prodzeile[j][3] = Ch_Date;
tr.push(" <tr class='tdtable'><td style='border-bottom: solid 1px; border-right: solid 1px' valign='bottom' align='center'>"+ prodzeile[j][0] +"</td><td style='border-bottom: solid 1px' valign='bottom' align='center'>"+ prodzeile[j][1] +"</td><td style='border-bottom: solid 1px' valign='bottom' align='center'>"+ prodzeile[j][2] +"</td><td style='border-bottom: solid 1px' valign='bottom' align='center'>"+ prodzeile[j][3] +"</td><td style='border-bottom: solid 1px; border-left: solid 1px' valign='bottom' align='center'> </td></tr>");
Qtyges_akt += parseInt(Qty);
j++;
}
funktioniert alles Array ist so wie ich es will komplett. Nur soll die Tabelle zur ausgabe so ausschauen.
Name | Anzahl | Datum
------------------------
aaa 1 24.05.2008
aaa 3 26.07.2008
---------------------------
Summe 4
----------------------------
bbb 6 26.01.2008
----------------------------
Summe 6
...
Ich habe für die Ausgabe folgende Function erstellt.
var mHtml = "";
var sHTML = "";
tr = tr.sort();
prodzeile = prodzeile.sort();
startseite();
function startseite() {
header(); //Überschriften der Tabelle
for(var p=-1; p <= tr.length; p++) {
if(tr.length > 0) {
mHtml += ""+ tr[0]+ ""; //Das ist mein Array mit allen daten
tr.shift();
}
content(); // Hier wird der Inhalt ausgegeben
footer(); // Hier der Bereich Summe
}
}
Nun mein Problem:
Ich bekomme es nicht hin nach prodzeile[j][0] = LibPrd; zu ordnen und nach jedem neuen zähler den footer einzufügen.
also:
prodzeile[0][0] == prodzeile[1][0] //aaa
prodzeile[1][0] != prodzeile[2][0] //[2][0] ist nun bbb also genau zwischen [1][0] und [2][0] möchte ich nun den Footer().
Wie kann ich das bewerkstelligen ????
HELPPPPPP
Hallo!
Dein Problem ist ein gutes Beispiel dafür, wann man besser objektorientiert programmieren sollte.
In diesem Fall besteht die Lösung darin, die Tabelle erst im letztmöglichen Augenblick in HTML-Code umzusetzen und bereits vorher zu prüfen, ob eine Zwischensumme, die Du hier völlig unsemantisch als Footer bezeichnest, eingesetzt werden soll.
Gruß, LX