Der folgende Beitrag wurde am 13. 10. 2004, 11:55 Uhr von brummbaer4711 veröffentlicht.
Hallo zusammen,
habe folgendes Problem und bisher keine Lösung gefunden:
zum Hintergund:
Ich habe Datensätze in XML-Dateien gespeichert und lasse diese in Tabellenform anzeigen.
Die Tabelle wird dynamisch aufgebaut (JavaScript):
- es wird die XML-Datei bestimmt
- dort wird ein bestimmter Satz gesucht
- die Tabelle wird um eine Zeile erweitert
- diese Zeile erhält für jedes Attribut des Datensatzes eine neue Zelle
- Die Zelle wird mit dem Wert aus der XML-Datei gefüllt
Das ganze funktioniert ganz gut.
nun zum Problem:
Offensichtlich wird die Tabelle erst aufgebaut und dann in eins angezeigt. Nachdem ich nun rund 100 Datensätze habe (nur ein Bruchteil dessen was angedacht war), habe ich einen Wartefaktor von rd. 2 Sekunden.
Setze ich eine Schleife von 10 Durchläfen (so dass jeder Satz 2x angezeigt wird), ist die Wartezeit deutlich zulange !
wie kann ich erreichen, dass die Tabelle Zeile für Zeile angezeigt/aufgebaut wird und nicht erst nach der letzten generierten Zeile?
Danke und Gruß
brummbaer4711
Der folgende Beitrag wurde am 13. 10. 2004, 12:07 Uhr von Cybaer veröffentlicht.
Hi,
> wie kann ich erreichen, dass die Tabelle Zeile für Zeile angezeigt/aufgebaut wird und nicht erst nach der letzten generierten Zeile?
Den Browserherstellern einen freundlichen Brief schreiben.
Wahlweise auch eine kleine Tabelle fertigschreiben, die von Dir dann nachträglich sukzessive erweitert wird (innerHTML oder hier besser mit Nodes arbeiten).
Daß letzteres natürlich um einiges länger dauert, sollte klar sein.
Gruß, Cybaer
--
Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!
Der folgende Beitrag wurde am 13. 10. 2004, 12:51 Uhr von brummbaer4711 veröffentlicht.
Hi Cybaer,
vielen Dank für die Antwort.
> Den Browserherstellern einen freundlichen Brief schreiben.
wird wohl by Microsoft nicht viel nützen ;-)
> Wahlweise auch eine kleine Tabelle fertigschreiben, die von Dir dann nachträglich sukzessive erweitert wird (innerHTML oder hier besser mit Nodes arbeiten).
Ich habe eine Grundtabelle (eine Zeile, eine Spalte) definiert, lösche durch das Script die erste Zeile und baue dann die Tabelle schrittweise auf. Hier ein Ausschnitt:
<!-- Überschriften
if (Zeile==0) document.getElementById("tabelle").deleteRow(Zeile);
var TR = document.getElementById("tabelle").insertRow(Zeile);
Zeile += 1;
var TD1 = document.createElement("th");
var TD1text = document.createTextNode(allFields[0]);
TD1.appendChild(TD1text);
var TD2 = document.createElement("th");
var TD2text = document.createTextNode(allFields[1]);
TD2.appendChild(TD2text);
TR.appendChild(TD1);
TR.appendChild(TD2);
<!-- Inhalt
var TR = document.getElementById("tabelle").insertRow(Zeile);
Zeile += 1;
var TD1 = document.createElement("td");
var TD1text = document.createTextNode(obj.recordset(allFields[0]).value);
TD1.appendChild(TD1text);
var TD2 = document.createElement("td");
var TD2text = document.createTextNode(obj.recordset(allFields[1]).value);
TD2.appendChild(TD2text);
TR.appendChild(TD1);
TR.appendChild(TD2);
ist es das, was Du mit Nodes meinst ?
zu innerHTML muss ich ertmal ausprobieren.
Oder ich lasse für jede XML (oder nach 20 zeilen) eine neue Tabelle erstellen.
Nochmals Danke
brummbaer4711
Der folgende Beitrag wurde am 13. 10. 2004, 14:51 Uhr von Cybaer veröffentlicht.
Hi,
> ist es das, was Du mit Nodes meinst ?
Ja.
> zu innerHTML muss ich ertmal ausprobieren.
Funktioniert ähnlich, nur hast Du den gesamten Code in einem String, den Du ja nach Belieben erweitern und wieder ins Dokument zurückschreiben kannst.
> Oder ich lasse für jede XML (oder nach 20 zeilen) eine neue Tabelle erstellen.
Auch daran dachte ich, aber dann ist es halt nicht mehr *eine* Tabelle (mit ggf. unerwünschten Nebenwirkungen).
Gruß, Cybaer
--
Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!
© 1998-2013 SELFHTMLImpressumSoftware: Classic Forum 3.4