Zellen einer Tabelle „wirklich“ zusammenfassen

  • Hallo,
    kann mir jemand sagen ob und wie es möglich ist mehrere Zellen einer bereits bestehenden Tabelle zu einer einzigen zusammenzufassen?
    Ich habe es bisher mit Colspan und Rowspan versucht. Diese fassen zwei Zellen ja aber nicht zu einer zusammen, sondern strecken eine Zelle lediglich über mehrere Felder.
    Bekommt die erste Zelle der ersten Zeile jetzt einen Colspan=“2“ zugewiesen, werden damit ja nicht die ersten beiden Zellen zusammengefasst, sondern lediglich die erste Zelle auf zwei Felder gestreckt. Dies hat zur Folge, dass rechts eine weitere Spalte erscheint, was nicht gewünscht ist.
    Vom Prinzip her soll es so funktionieren, wie in Excel die Funktion „Verbinden und Zentrieren“ (wobei das Zentrieren egal ist). Hier lassen sich mehrere Zellen (auch zeilenübergreifend) zu einer einzigen zusammenfassen.

    Hat jemand eine Idee wie dieses Vorhaben realisiert werden könnte?
    Das Problem ist, dass der Benutzer das Bearbeiten der Tabelle später dynamisch selbst machen soll.
    Für die Erstellung der Tabelle und das agieren des Benutzers verwende ich JavaScript. jQuery kann ebenfalls benutzt werden, falls es hier eine geeignete Methode geben sollte.


    Bin für jeden Tipp oder Hinweis dankbar!

  • Dies hat zur Folge, dass rechts eine weitere Spalte erscheint, was nicht gewünscht ist.


    Dann lass' die Zelle doch weg, wo ist jetzt das Problem? Da muss sich der Benutzer halt dran gewöhnen.

  • Danke für die schnelle Antwort,... nur leider löst dies mein Problem ja nun nicht gerade :)
    Dem benutzer zu sagen "Geht leider nicht, gewöhnte dich daran", ist in meinen Augen ein denkbar schlechtes Workaround.

  • Du kannst nicht einfach ein colspan="2 eintragen und dann erwarten, dass sich der Rest nach deinem Geschmack anpasst. Da bekommst du bei einer zweispaltigen Tabelle vielleicht noch eine Logik rein, aber bei bei mehr Spalten geht das nicht mehr.

  • Vollkommen richtig. Deswegen habe ich ja auch gefragt ob es eine Möglichkeit gibt dies auf anderem Wege (evtl. mittels JavaScript/jQuery) zu realisieren.

  • Beispiel:
    Eine Tabelle mit 8 Spalten, jetzt verbinde ich Zelle 2 und 3. Was machst du jetzt? Die nächste Zelle rauschmeißen, oder die letzte? Das kannst du dir knicken, da ist mit Logik nix zu machen.

  • Wenn ich Zelle 2 und 3 verbinden möchte, könnte ich Zelle 3 entfernen und 2 würde dann den colspan="2" bekommen. Wäre mit JavaScript auch umsetzbar.
    Frage ist, ob es hierfür bereits eine vorgefertigte Lösung gibt oder ob ich selbst etwas entwerfen muss.

  • Wenn ich Zelle 2 und 3 verbinden möchte, könnte ich Zelle 3 entfernen und 2 würde dann den colspan="2" bekommen.


    Genau das ist die Lösung. Wenn du 2 Zellen verbindest, muss dein Tabellen <td> eins weniger werden. Also 8 Zellen, 2 verbinden, macht nur noch 7x <td>, eines davon mit colspan. Da ist Javascript mehr als flüssig, weil das HTML selber kann. Jetzt musst du deinem Gehirn das noch verklickern. ;)

  • Zitat

    Da ist Javascript mehr als flüssig


    Wie darf ich das verstehen? Der Benutzer bzw. der Besucher der Seite soll ja in der Lage sein, diese Tabellenänderungen selbst vorzunehmen.
    Hinter den Buttons, die er bedienen kann, steckt dann das besagte JavaScript.
    Von der Logik her, wie das Prinzip colspan und rowspan funktioniert ist soweit alles klar. Da es aber halt dynamisch sein muss,
    ist die JavaScript-Logik nicht ganz so einfach. Und ich dachte, ehe ich mich hinsetzte und das alles zu Fuß umsetzte, gucke ich erstmal nach
    ob es schon vorgefertigte Lösungen gibt.