IFrames & Tables
Finn
- html
0 Gun0 Finn
0 Thomas Luethi0 Finn
Hallo,
ich habe folgendes Anliegen, welches mir schon seit einiger Zeit Kopfzerbrechen bereitet.
Es geht um folgendes:
Ich habe eine Tabelle mit Daten in einem IFRAME und würde gerne die Spaltenüberschriften über dem IFRAME darstellen, sodass diese nicht mit-scrollen.
Die Frage ist nun, wie ich diese zwei, erstmal völlig unabhängigen Tabellen (wenn man die Überschriften ebenfalls als Tabellenzeile darstellt) so "synchronisiere", dass die Spaltenbreiten übereinstimmen.
Alle CSS-Versuche mit "display: xxx" etc. schlugen bisher fehl. Ich würde mich sehr über einen Lösungsvorschlag freuen. Dieser muss nicht mit einem IFRAME umgesetzt sein - es geht um eine "scrollable" Tabelle mit "fixen" Spaltenüberschriften.
Vielen Dank!
Gruß,
Finn
Hallo,
schon mal mit zwei IFrames versucht?
IFrame 1 - fixe Breite - enthält Spaltenüberschriften und zweiten IFrame - ebenfalls fixe Breite - der dann die Datentabelle enthält...
So solltest Du nur wenig Positionierungsprobleme haben, schätze ich...
Oder Du baust eine komplexe DHTML Lösung mit eigenen Scrollbars. Vielleicht kannst Du dazu vorgefertigte Scripte von dhtmlcentral.com nutzen...
Gun
schon mal mit zwei IFrames versucht?
IFrame 1 - fixe Breite - enthält Spaltenüberschriften und zweiten IFrame - ebenfalls fixe Breite - der dann die Datentabelle enthält...
So solltest Du nur wenig Positionierungsprobleme haben, schätze ich...
Hmm, das wird dann aber trotzdem nicht dazu führen, dass die einzelnen Spalten der Überschrift die gleiche Breite haben, wie die korrenspondierenden Spalten im Datentable.
Oder Du baust eine komplexe DHTML Lösung mit eigenen Scrollbars. Vielleicht kannst Du dazu vorgefertigte Scripte von dhtmlcentral.com nutzen...
DHTML ist (leider) nach der Spezifikation ausgeschlossen. :-(
Trotzdem danke!
Gruß,
Finn
Hallo,
Alle CSS-Versuche mit "display: xxx" etc. schlugen bisher fehl.
Die Breite von Dingen (z.B. von Tabellenzellen) gibt man auch nicht
mit display: xxx an, sondern mit width: ...
http://selfhtml.teamone.de/css/eigenschaften/positionierung.htm#width
td.spalte1 { width:50px; }
td.spalte2 { width:200px; }
u.s.w.
Alternativ koenntest Du die Breite der Zellen mit veralteten
HTML-Attributen festlegen.
http://selfhtml.teamone.de/html/tabellen/gestaltung.htm#breiten_hoehen
Ein Iframe finde ich hier schlecht - nicht nur, weil der Netscape 4
dieses Element gar nicht kann, sondern weil die Tabellendaten,
die doch eigentlich ins Dokument gehoeren, in einem zweiten
Dokument stehen.
Anstatt in einen Iframe koenntest Du die eigentliche Tabelle auch
in einen DIV packen, diesem die gewuenschte Breite und Hoehe
geben und mit overflow: ... fuer einen Scrollbalken sorgen.
http://selfhtml.teamone.de/css/eigenschaften/positionierung.htm#overflow
Gruesse,
Thomas
Alle CSS-Versuche mit "display: xxx" etc. schlugen bisher fehl.
Die Breite von Dingen (z.B. von Tabellenzellen) gibt man auch nicht
mit display: xxx an, sondern mit width: ...
Das ist mir auch klar. :-) Ich hatte mit "display:..." versucht der Überschriften-Tabelle eine unsichtbare Zeile des Datentable "unterzujubeln", sodass die Zellen somit auf die richtige Breiten skaliert werden. Jedoch geht das nicht, weil a) eine verstecke Zeile keinen Einfluss auf die Breite der restlichen Zeilen/Zellen hat und b) man theoretisch alle Zeilen des Datentable nehmen müsste, da nicht klar ist, in welcher Zeile die jeweilge Zelle ist, die die Gesamtbreite der betroffenen Spalte bestimmt. Alles das gilt natürlich ohne konkrete Breitenangaben für Zellen.
Alternativ koenntest Du die Breite der Zellen mit veralteten
HTML-Attributen festlegen.
Ja schon, aber bei dynamischen Imhalt weiss ich weder welche Breite die einzelnen Spaltenüberschriften haben (ja, diese sind auch dynamisch...), noch welche Spaltenbreiten die Datenzellen haben werden.
Somit kann ich wohl keine explizite Breitenangaben verwenden, wenn ich micht nicht irre.
Ein Iframe finde ich hier schlecht - nicht nur, weil der Netscape
4 dieses Element gar nicht kann, sondern weil die Tabellendaten,
die doch eigentlich ins Dokument gehoeren, in einem zweiten
Dokument stehen.
Absolut korrekt. Mir war die Möglichkeit von "DIV + overflow" nicht bekannt. Allerdings kennt Netscape 4 "overflow" ebenfalls nicht, aber das stört nicht weiter. Die Anwendung ist für aktuelle Browser spezifiziert und wird eine Intranet-Anwendung sein.
Danke für Dein Hilfe! "DIV + overflow" werde ich wohl auf jeden Fall dem IFRAME vorziehen. Allerdings löst das auch noch nicht mein eigentliches Problem. Aber nun hab ich einen neuen Ansatzpunkt.
Vielen Dank!
Gruß,
Finn