ingobar: oder PHP? Spalten einer Tabelle tauschen

Hallo zusammen!

Tja, kaum hat mein ein Problem gelöst, steht man auch schon vor dem nächsten.

Jetzt kann ich endlich alle meine Einträge aus der Palm-DB einlesen und darstellen, da stehe ich nun vor dem Problem, dass die Reihenfolge der Spalten falsch ist. Nur kann ich diese dummerweise nicht in der Palm-DB-Datei verändern, sondern muss das bei der Darstellung umbiegen. Ich brauche also entweder php- oder irgendeine js-Lösung.

Da ich aber denke, dass vielleicht schon mal jemand anders das Problem hatte, ich aber beim googlen nichts passendes gefunden habe, wollte ich mal nachfragen. Also, hat das jemand schon mal gemacht (und sagt mir wie es am geschicktesten geht) oder kennt jemand eine js-lib, die so etwas anbietet?

Nur um sicher zu gehen, hier noch mal mein Problem "grafisch":

data1 = "Kopf2","Kopf1","Kopf3";
data2 = "tick","trick","track";

Aktuelle Darstellung:

Kopf2 | Kopf1 | Kopf3
---------------------
tick  | trick | track

Da ich nicht weiß, wie der User die Spalten gerne sortiert hätte, würde ich eigentlich ganz gerne was mit anfassen und verschieben der Spalten machen.

Wenn mir jemand also da einen Tipp geben kann?

  1. Yerf!

    Da ich nicht weiß, wie der User die Spalten gerne sortiert hätte, würde ich eigentlich ganz gerne was mit anfassen und verschieben der Spalten machen.

    Wenn mir jemand also da einen Tipp geben kann?

    Hm, ich hab das mittels einer for-Schleife über alle Zeilen (.rows[]) der Tabelle gelöst. Innerhalb der Row kann man dann die Zellen über .cells[] ansprechen und mittels .insertBefore() die Reihenfolge tauschen.

    Für Drag&Drop habe ich keine Lösung parat, da ich das noch nie gemacht habe. Aber als Idee von der Benutzerführung her: Ein Icon in jeder Spaltenüberschrift zum ziehen (die zu verschiebende Spalte) und die Spalte über der losgelassen wird nimmt man als Zielspalte für insertBefore(). (Evtl. braucht man dann noch eine Dummy-Spalte am Ende, damit man eine Datenspalte nach ganz rechts verschieben kann)

    Gruß,

    Harlequin