Jörn: Tabellenzeilen scrollen

Hallo Leute!

Ich arbeite mit einem MapServer, der mir ein Kartenbild zurückliefert. Zudem sind auf diesem Bild viele Standpunkte zu sehen, die zum Beispiel Orte repräsentieren. Neben meinem Kartenbild gibt es eine Tabelle, die zu jedem Standpunkt eine Zeile mit Daten aufweist. Fährt man mit dem Cursor über die verschiedenen Punkte, wird jeweils der Datensatz in der Tabelle farblich neu hinterlegt, damit man einen Bezug zwischen dem Punkt auf der Karte und der Zeile in der Tabelle bekommt. Das läuft alles.

Da ich aber sehr viele Punkte habe, bekommt die Tabelle irgendwann einen Scrollbalken. Ist jetzt eine Zeile im nicht sichtbaren Bereich, wird sie zwar markiert, nur kann ich jetzt den Bezug nicht mehr herstellen, weil ich diese Zeile nicht sehe.

Gibt es Möglichkeiten, die Tabelle automatisch zu scrollen, wenn ich eine bestimmte Zeile sehen möchte, die noch nicht sichtbar ist? Zum Beispiel könnte die Zeile so hoch gescrollt werden, dass sie gleich unter den Spaltenüberschriften zu sehen ist.

Man könnte sicherlich von dem Datensatz, der markiert werden soll, die einzelnen Daten mit der obersten Zeile der Tabelle tauschen. Aber vielleicht gibt es ja noch andere Möglichkeiten.

Schon einmal vielen Dank im Voraus für Antworten.

Gruß Jörn

  1. Aber vielleicht gibt es ja noch andere Möglichkeiten.

    Ich würde einfach ein Textfeld mit den Werten aus der Tabelle erscheinen lassen wenn man über den Ort fährt.
    Dann ist die Tabelle zwar nicht gescrollt aber man sieht die Daten.

    Gruß aus Dortmund von
    Klaus-Dieter

    1. Hallo Klaus-Dieter.

      Wenn ich mit dem Cursor über einen Punkt bin, werden in einem tooltip spezielle Werte zu diesem Ort angezeigt. Diese Daten werden beim laden der Seite aus einer Datenbank geschrieben.

      Diese Daten sind ungefähr die gleichen Daten, die auch in der Tabelle zu sehen sind. Zuzüglich gibt es dort noch zwei links: einer zoomt auf den Punkt in der Karte heran, der andere öffnet ein neues Fenster, in dem dann alle Daten des Orts zu sehen sind.

      Man soll also eigentlich nur sehen, wo sich die Zeile in der Tabelle befindet, wenn man mit dem Cursor über den Punkt fährt, um von dort aus zu zoomen oder ein neues Fenster zu öffnen.

      Gruß Jörn

      1. »»
        Man soll also eigentlich nur sehen, wo sich die Zeile in der Tabelle befindet, wenn man mit dem Cursor über den Punkt fährt, um von dort aus zu zoomen oder ein neues Fenster zu öffnen.

        Wie wärs dann mit einer id die die Zeilennummer der Tabelle angibt? Wenn du mit einer DB arbeitest dürfte das doch kein Problem sein, oder?

        Klaus-Dieter

        1. Hallo Klaus-Dieter!

          Erst einmal danke für Deine zwei Antworten.

          Leider habe ich Deine letzte Antwort nicht ganz verstanden.

          Mal angenommen, auf meiner Karte sind zwanzig Punkt und alle Tabellenzeilen sind zu sehen, dann überfahr ich einen Punkt, kann in der Tabelle sehen, welche Zeile es ist, weil diese farblich markiert wird, und kann dann auf die jeweilige Zeile mit dem Mauscursor zufahren. Das Zusammenspiel zwischen Punkt und Tabellenzeile geht über eine ID. Wenn ich mit dem Cursor den Punkt verlasse, wird auch die farbliche Markierung aufgehoben. Das macht aber nichts, da ich mir die Zeile ja gemerkt habe.

          Was mach ich aber, wenn es 100 Punkte sind und 80 Zeilen sind nicht zu sehen? Dann seh ich auch nicht die farbliche Markierung dieser Punkte, selbst wenn ich mit dem Cursor über diese Punkte fahre. Dann weiß ich nie, welche Zeile zu diesem Punkt gehört.

          Man könnte sicherlich die ID im tooltip ausgeben und in der Tabelle eine Spalte mit den ID's, aber das wollte ich nicht.

          Gruß Jörn

          1. »»
            Man könnte sicherlich die ID im tooltip ausgeben und in der Tabelle eine Spalte mit den ID's, aber das wollte ich nicht.

            Warum nicht?

            Vielleicht kann man den Bezug zur Tabellenzeile ja auch über ein anderes Feld realisieren. Z.B. Name, Adresse usw. Ist zwar nicht immer eindeutig aber dazu kenn' ich deine Daten zu wenig (um nicht zu sagen gar nicht ;).

            Sonst fällt mir auch nichts ein...

            Klaus-Dieter

            1. Und? wie ist es ausgegangen?

              Klaus-Dieter

              1. Hallo!

                Zur Zeit sieht es so aus:

                Ich nehm die Zeile, die zum aktuellen Punkt gehört und tauche diese mit der obersten Zeile der Tabelle aus. So sieht man immer die aktuelle Zeile (die Daten). Verlass ich den Punkt wieder, wird zurückgetauscht.

                Problem ist nur, wenn jemand so weit scrollt, dass die oberste Zeile nicht mehr sichtbar ist. Dazu müsste ich die Tabelle immer automatisch nach oben scrollen lassen, wenn jemand über einen Punkt fährt. Das hab ich leider noch nicht hinbekommen. Vielleicht geht das auch garnicht.

                Gruß Jörn