Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Zeile in HTML einfügen mit InsertAdjacentHTML? (https://www.delphipraxis.net/78704-zeile-html-einfuegen-mit-insertadjacenthtml.html)

huberlix 9. Okt 2006 18:58


Zeile in HTML einfügen mit InsertAdjacentHTML?
 
Delphi 6

Ich habe eine Tabelle im Webbrowser, sagen wir mal 10 Zeilen, 10 Spalten.

Nun will ich in jeder Zeile eine Zusätzliche Zeile von 3 Spaltenbreiten einfügen.

Delphi-Quellcode:
   ____ ____ ____ ____ ____ ____ ____
|____|____|____|    |    |    |    |   // als Delphi-Code hier dargestellt, weil
|____|____|____|____|____|____|____|   // sonst die Leerzeichen gekürzt werden
Mein HTML Editor hängt dann einfach hinter die Ganze Reihe eine neue Reihe mit einer Zelle colspan=3 hintendran.
<tr> ganze Zeile</tr>
<tr bgcolor="#FFFFFF">
<td valign=middle colspan="3">kurze Spalte
</tr>

Will ich das mit Delphi einfügen, knallts!
Fehler:"Das Zielelement dieser Operation ist nicht gültig"
Wo ist der Fehler?

Die variablen Table, Row, r sind richtig definiert, hab den schon funktionierenden Code rausgekürzt.

Delphi-Quellcode:
  Table := WebBrowser1.OleObject.Document.all.tags('table').Item(1);
  r := Table.all.tags('tr').Length;//Zeilen feststellen

  for i:=1 to r-1 do   //Zeilen durchlaufen
  begin

    row:=Table.all.tags('tr').item(i);
   
    row.InsertAdjacentHTML('Afterend','<tr bgcolor="#FFFFFF"><td valign=middle colspan="3">kurze Zeile </tr>');
  end;
Das sich die Zählschleife verzählt, ist mir klar, weil ja Reien eingefügt werden. Das lös ich dann später. Aber es knallt gleich beim ersten mal!

huberlix 9. Okt 2006 19:04

Re: Zeile in HTML einfügen mit InsertAdjacentHTML?
 
Hab gerade gesehen, der Editor mach dann noch aus den verbleibenden Zellen ein "Rowspan=2".
Aber das ist sich nicht das Problem für den Fehler!

huberlix 12. Okt 2006 07:48

Re: Zeile in HTML einfügen mit InsertAdjacentHTML?
 
Weiß da wirklich keiner weiter?
Hab jetzt mal das -colspan="3"- weggelassen, so dass eine ganze Reihe eingefügt wird. Geht genausowenig.

Marabuuuu!!!
Du kennst dich doch da aus!?

marabu 12. Okt 2006 10:18

Re: Zeile in HTML einfügen mit InsertAdjacentHTML?
 
Hallo Bernd,

Zitat:

Zitat von huberlix
Nun will ich in jeder Zeile eine Zusätzliche Zeile von 3 Spaltenbreiten einfügen.

ich habe deinen thread gelesen, aber muss gestehen, dass ich nicht verstanden habe was du erreichen willst. Beschreibt die Semigraphik nun das von dir gewünschte Ergebnis?

Code:
.____ ____ ____ ____ ____ ____ ____
|____|____|____|    |    |    |    |   
|____|____|____|____|____|____|____|
Möchtest du wirklich vier zusätzliche doppelt hohe Zellen an jeweils zwei Reihen anhängen?

Delphi-Quellcode:
begin
  // ...
  row.InsertAdjacentHTML('Afterend', '<tr bgcolor="#FFFFFF"><td valign=middle colspan="3">kurze Zeile </tr>');
end;
Mit diesem Code erreichst du nur das hier:

Code:
.____ ____ ____ 
|____|____|____|
|______________|
Nachdenkliche Grüße vom marabu

huberlix 16. Okt 2006 13:46

Re: Zeile in HTML einfügen mit InsertAdjacentHTML?
 
Also ich möchte eigentlich in einer Zeile mit ca 10 Zellen die ersten 2 oder 3 teilen.
Wär ja schön, wenn ich das von dir gezeichnete Ergebnis erreichen würde, dann hätte ich ja mal nen Anfang.
Aber ich krieg immer oben genannten Fehler.

Also so siehts vorher aus:
Delphi-Quellcode:
.________ ________ ________ ________ ________ ________
|        |        |        |        |        |        |
|        |        |        |        |        |        |
|        |        |        |        |        |        |
|        |        |        |        |        |        |
|________|________|________|________|________|________| 
|        |        |        |        |        |        |
|        |        |        |        |        |        |
|        |        |        |        |        |        |
|        |        |        |        |        |        |
|________|________|________|________|________|________|
Und so solls nachher aussehen:

Delphi-Quellcode:
.________ ________ ________ ________ ________ ________
|        |        |        |        |        |        |
|        |        |        |        |        |        |
|        |        |        |        |        |        |
|________|________|        |        |        |        | 
|________|________|________|________|________|________|
|        |        |        |        |        |        |
|        |        |        |        |        |        |
|        |        |        |        |        |        |
|________|________|        |        |        |        | 
|________|________|________|________|________|________|

marabu 16. Okt 2006 17:35

Re: Zeile in HTML einfügen mit InsertAdjacentHTML?
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo Bernd,

ich habe dir eine Demo angehängt. Die Methode insertAdjacentHTML() kannst du mit TR nicht verwenden - die gibt es da einfach nicht.

Grüße vom marabu

huberlix 16. Okt 2006 18:04

Re: Zeile in HTML einfügen mit InsertAdjacentHTML?
 
DANKE!
Sieht gut aus. Werd mich morgen mal näher damit beschäftigen.

Kann man denn die Eigenschaften, Methoden usw. irgendwo nachlesen, wie sie in Delphi verwendet werden? Hab zwar die MSHTML Reference, aber irgendwie hat mich das noch nicht weitergebracht.

Und das war bestimmt nicht das letzte, wo ich hängenbleibe, mangels Kenntnis der Möglichkeiten.

Gruß Bernd


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:08 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz