czRIpper: Tabelle mit nur vertikal fixierter Zeile...

Hi Peoplez,

hab ein Problem, an dem ich mir schon seit einigen Stunden die Zähne ausbeiße :

Ich möchte eine HTML-Tabelle erstellen, die aber mit sovielen Daten gefüttert wird, dass sie schnell ziemlich unübersichtlich wird. Deshalb wäre es gut, wenn die erste Zeile (mit Beschriftung der Spalten) auch beim vertikalen Scrollen oben sichtbar ist. Allerdings muss sie horizontal scrollbar bleiben, da es auch sehr viele Spalten gibt. Gleiches gilt für die linke Spalte (mit den Zeilenbeschriftungen), die beim horizontalen Scrollen links sichtbar bleiben soll, aber vertikal scrollbar bleiben muss, da es eben auch ne Menge Zeilen gibt.
Das ganze müsste idealerweise ohne Frames realisiert werden. Hab schon mit div experimentiert, aber die scrollen ja entweder in beide Richtungen oder nur in eine.

Hat irgendwer ne Idee?

Greetz

czery

    1. Hier ist was für dich:

      http://aktuell.de.selfhtml.org/artikel/javascript/scrolltabelle/anzeige/frameset.html

      Kalle

      Danke für den Link. Ist aber leider auch mit Frames realisiert. Gibts da keine Möglichkeit ohne Frames?

      Greetz

      1. Hallo,

        bitte jetzt nicht auf mich einschlagen (ich mein´s ja nur gut), aber wenn ich das Problem lese, bekomme ich das Gefühl, dass man das nicht mit HTML lösen sollte, sondern mit Excel.

        Ernsthaft: Excel kann man so einrichten, wie Du es eben beschrieben hast. Es ist grenzlos rauf und runter skalierbar und komplett durchsuchbar. Und man kann tadellos ein Excel-sheet zum Download anbieten (dies wegen der Web-Anbindung), das dann jedes Office-Programm frisst.
        Und man kann es ohne Probleme täglich aktualisieren. Hm?
        So als Idee...
        Grüße,
        Claus

        1. An sich ja eine gute Idee, ist aber in meinem Fall aus verschiedenen Gründen nicht möglich:

          • die Tabelle ist Bestandteil einer CF-Applikation
          • sie enthält ein Formular mit Checkboxen, über die beim Abschicken des Formulars Parameter an die Applikation weitergereicht werden
          • sie wird aus einer Datenbank gefüllt

          Trotzdem Danke für die Idee

          Greetz

      2. Danke für den Link. Ist aber leider auch mit Frames realisiert. Gibts da keine Möglichkeit ohne Frames?

        Ja, dann musst du etwas kreativ werden, etwa so:

        Dein horizontaler Balken (Überschrift) ist zu groß für die Anzeigebreite. Du positionierst ihn absolut und kannst ihn so mit Javascript verschieben, indem du den "left" oder "margin-left" negativ werden lässt.

        Das gleiche mit dem vertikalen Balken und "top" oder "margin-top".

        Und falls das mit den normalen Scrollbalken Schwierigkeiten macht, kannst du selbst eine Navigation konstruieren:

        • eine (zehn) Spalte(n) nach links (rechts)
        • eine (zehn) Zeile(n) nach oben (unten)
        • ans Zeilenende (Spaltenende)
        • an den Zeilenanfang (Spaltenanfang)

        Gruß Kalle

  1. Autsch. Du willst also eine Tabelle mit einer festen Kopfzeile und darunter eine 1. Spalte die zwar hoch und runter scrollt aber nicht links und rechts.

    Spontan wuerde ich es mit 3 Divs versuchen. Aber da es ja nach einer echten Tabelle klingt kannst du auch 3 Tabellen versuchen. Mir wird zwar ganz komisch, wenn ich an 3 verschachtelte Tabellen denke, aber Versuch macht kluch.

    Du brauchst eine tabelle mit 2 Reihen. In der ersten hast du den Kopf, in der zweiten (die nur ein TD ist) die naechste Tabelle.

    In der zweiten Tabelle brauchst du eine Reihe mit 2 Spalten. In der 1 spalte hast Du deine linke Spalte mit Beschriftungenm in der rechten (wieder nur ein TD) kommt dann eine Tabelle mit den Inhalten. Du kannst den Tabellenzellen in denen Tabellen sind mit CSS normalerweise Scrollbalken verpassen. (overflow)

    Aber wie Du es hinbekommen willst je nur einen Scrollbalken fuer horizontales und vertikales scrollen zu haben... keine Ahnung. Versuchs, vielellicht klappts.

    Alternativ kannst Du natuerlich ein aehnliches Konstrukt mit Divs aufbauen und insgesamt 3 Tabellen in Divs verpacken.

    Versucht hab ich sowas nie, waere aber interessant ein Ergebins zu sehen.