T:O:B: Drag&Drop

hallo leute,
ich habe bei mir eine tabelle mit mehreren spalten in die man was hineinschreiben kann. nun möchte ich aber, dass der user nicht jedesmal in jede zelle den gleichen wert eingeben muss, sonder diesen ganz einfach per anklicken der zelle und ziehen bis zur zielzelle in die zellen schreiben kann (also drag&drop *gg*).
allerdings finde ich keine vernünftigen ansatz zum sauberen lösen des problems... :(

könntet ihr mir da vielleicht etwas auf die sprünge helfen?

gruß,
t:o:b

  1. Hallo T:O:B,

    ich habe bei mir eine tabelle mit mehreren spalten in die man was hineinschreiben kann. nun möchte ich aber, dass der user nicht jedesmal in jede zelle den gleichen wert eingeben muss, sonder diesen ganz einfach per anklicken der zelle und ziehen bis zur zielzelle in die zellen schreiben kann (also drag&drop *gg*).

    Ich habe noch nicht ganz verstanden, was du machen willst. Die Aufteilung der Spalten per Drag and Drop verschieben, so ähnlich wie bei einem Frameset mit Grid-Layout?

    Wenn ja: Bestimmt gibt es dafür auch eine Lösung mit Javascript, denn die Spaltenaufteilung kannst du ja mit COL-Elementen festsetzen und bestimmt auch dynamisch ändern. Mit einem einfachen Frameset ginge das ja auch ohne Javascript. Jetzt ist nur die Frage, was das kleinere Übel ist; JavaScript oder Frameset.

    Erklär mal genauer!

    Gruß Gernot

    1. Also meine Idee war die, dass ich z.b. eine Tabelle habe mit 1 Zeile und 30 Spalten. jetzt kann der benutzer in jeder zelle einen wert eingeben. da aber der wert durchaus öfters in den zellen eingegeben werden könnte, wollte ich, dass der benutzer wie in excel einfach die zelle anklickt (die maustaste gedrückt hält) und dann bis zu einer in der gleichen zeile befindenden spalte zieht. der wert, welcher in der angeklickten zelle steht, soll dann in den zellen (bis zu der zelle wo er die maustaste wieder losgelassen hat) automatisch übernommen werden.

      weißt du was ich meine? :D

      gruß,
      t:o:b

      1. Hallo,

        Also meine Idee war die, dass ich z.b. eine Tabelle habe mit 1 Zeile und 30 Spalten.

        Ja.

        jetzt kann der benutzer in jeder zelle einen wert eingeben.

        Nein, normalerweise nicht. Wie realisierst Du, dass "der benutzer in jeder zelle einen wert eingeben" kann?

        da aber der wert durchaus öfters in den zellen eingegeben werden könnte, wollte ich, dass der benutzer wie in excel einfach die zelle anklickt (die maustaste gedrückt hält) und dann bis zu einer in der gleichen zeile befindenden spalte zieht. der wert, welcher in der angeklickten zelle steht, soll dann in den zellen (bis zu der zelle wo er die maustaste wieder losgelassen hat) automatisch übernommen werden.

        Excel hat aber dafür an jeder Zelle ein aktives Element, das sogenannte "Ausfüllkästchen". Willst Du das so implementieren?

        Einfacher wäre in den Zeilen bzw. Spalten eine Schaltfläche [Ausfüllen bis Ende] anzubieten, die den gewählten Wert immer bis zum Ende der Tabelle ausfüllt.

        viele Grüße

        Axel

        1. Naja,
          also das mit der eingabe in der zellen hat sich relativ einfach mit js machen lassen. das mit dem ziehen der werte über mehrere zellen, lässt sich im grunde auch recht einfach mit js lösen, indem man die startzelle und die zielzelle nimmt, und alle dazwischenliegenden zellen ausfüllen lässt. was ich sagen möchte: ich habe eine lösung gefunden...:D

          danke für eure hilfe! ;)

          t:o:b

      2. Hi,

        wie in excel einfach die zelle anklickt (die maustaste gedrückt hält) und dann bis zu einer in der gleichen zeile befindenden spalte zieht. der wert, welcher in der angeklickten zelle steht, soll dann in den zellen (bis zu der zelle wo er die maustaste wieder losgelassen hat) automatisch übernommen werden.

        Beim Mausklick ein transparentes Element mit Zellengröße ebendort positionieren und Cursor ändern, Maus ziehen (inkl. dem Element), und beim Loslassen den Wert vom Quellpunkt im Zielpunkt eintragen.

        Ja, das ist machbar.

        Gruß, Cybaer

        --
        Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!