AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Zeile in HTML einfügen mit InsertAdjacentHTML?
Thema durchsuchen
Ansicht
Themen-Optionen

Zeile in HTML einfügen mit InsertAdjacentHTML?

Offene Frage von "huberlix"
Ein Thema von huberlix · begonnen am 9. Okt 2006 · letzter Beitrag vom 16. Okt 2006
Antwort Antwort
huberlix

Registriert seit: 10. Nov 2003
46 Beiträge
 
#1

Zeile in HTML einfügen mit InsertAdjacentHTML?

  Alt 9. Okt 2006, 18:58
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!
  Mit Zitat antworten Zitat
huberlix

Registriert seit: 10. Nov 2003
46 Beiträge
 
#2

Re: Zeile in HTML einfügen mit InsertAdjacentHTML?

  Alt 9. Okt 2006, 19:04
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!
  Mit Zitat antworten Zitat
huberlix

Registriert seit: 10. Nov 2003
46 Beiträge
 
#3

Re: Zeile in HTML einfügen mit InsertAdjacentHTML?

  Alt 12. Okt 2006, 07:48
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!?
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#4

Re: Zeile in HTML einfügen mit InsertAdjacentHTML?

  Alt 12. Okt 2006, 10:18
Hallo Bernd,

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
  Mit Zitat antworten Zitat
huberlix

Registriert seit: 10. Nov 2003
46 Beiträge
 
#5

Re: Zeile in HTML einfügen mit InsertAdjacentHTML?

  Alt 16. Okt 2006, 13:46
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:
.________ ________ ________ ________ ________ ________
| | | | | | |
| | | | | | |
| | | | | | |
|________|________| | | | |
|________|________|________|________|________|________|
| | | | | | |
| | | | | | |
| | | | | | |
|________|________| | | | |
|________|________|________|________|________|________|
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#6

Re: Zeile in HTML einfügen mit InsertAdjacentHTML?

  Alt 16. Okt 2006, 17:35
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
Angehängte Dateien
Dateityp: zip wb-table_107.zip (2,8 KB, 33x aufgerufen)
  Mit Zitat antworten Zitat
huberlix

Registriert seit: 10. Nov 2003
46 Beiträge
 
#7

Re: Zeile in HTML einfügen mit InsertAdjacentHTML?

  Alt 16. Okt 2006, 18:04
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
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:32 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz