Suche Idee für Menügenerator (zur Verwendung in einer Webseite) per Drag & Drop

  • VB.NET
  • .NET (FX) 4.5–4.8

Es gibt 7 Antworten in diesem Thema. Der letzte Beitrag () ist von dive26.

    Suche Idee für Menügenerator (zur Verwendung in einer Webseite) per Drag & Drop

    Hallo Leute,

    ich steh irgendwie auf dem Schlauch.

    Ich suche nach einer einfachen aber effektiven Methode per Drag & Drop eine Menü- bzw. Baumstruktur zu erstellen.

    Am Screenshot im Anhang seht Ihr wie das Ergebnis aussehen soll.

    Das Menü soll zweidimensional bleiben. Also jeweils eine Hauptgruppe und darunter beliebig viele Untergruppen:

    Hauptgruppe 1
    - Untergruppe X
    - Untergruppe Y

    Hauptgruppe 2
    - Untergruppe Z
    - Untergruppe X


    Die Hauptgruppenbezeichnungen sind frei definierbare Strings (die könnte ich vorher eingeben lassen und in eine Listbox packen).
    Die Untergruppenbezeichnungen stehen ebenfalls in einer Listbox (oder beliebigen anderem Container).

    Nun möchte ich, dass der User per Drag & Drop zu jeder Hauptgruppe beliebige Untergruppen hinzufügen, verschieben und wieder entfernen kann. Ebenso sollen die Reihenfolge der Hauptgruppen verschiebbar sein (und die Untergruppen mitverschieben).
    Wobei sich die Untergruppen auch gerne wiederholen dürfen.

    Am Ende möchte ich die "Struktur" auslesen und in für mich passende Variablen füllen.

    Ich habe mit dem Treeview-Control herumprobiert, das ist mir aber etwas zu träge und umständlich.

    Habt Ihr eine Idee, wie man am Benutzerfreundlichsten so einen Menüstrukturgenerator hinbekommen kann?

    LG Roland
    Bilder
    • 14112018153319.jpg

      42,24 kB, 191×557, 153 mal angesehen
    Liebe Grüße
    Roland Berghöfer

    Meine aktuellen und kostenlos verwendbaren Tools (mit VB.NET erstellt): freeremarkabletools.com | priconman.com | SimpleCalendar | AudibleTouch | BOComponent.com | bonit.at
    @dive26 So was wie ein TreeView?
    Du kannst Items beim Anfassen per DoDrag() und dann Drop iwo fallenlassen.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Ich habe mit dem Treeview-Control herumprobiert, das ist mir aber etwas zu träge und umständlich.

    Ist auch optisch nicht wirklich ansprechend. Daher habe ich es verworfen.
    Wenn mir (oder Euch) nichts anderes einfällt, dann mache ich es mit einem Listview mit zwei Spalten und vielen Zeilen. Aber das ist nur die allerletzte Option, weil auch optisch nicht ansprechend.
    Liebe Grüße
    Roland Berghöfer

    Meine aktuellen und kostenlos verwendbaren Tools (mit VB.NET erstellt): freeremarkabletools.com | priconman.com | SimpleCalendar | AudibleTouch | BOComponent.com | bonit.at
    @dive26 Sorry, hab ich überlesen.
    Ich hab ne Anwendung, wo TreeView-Items von TreeView A nach TreeView B oder innerhalb von TreeView B per D&D kopiert / bewegt werden.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    willst das in einer Website machen? (dein Titel irritiert mich ein wenig...)


    Sorry, der Titel ist wirklich zweideutig.

    Meine ERP-Software bereitet die Daten für den (ebenfalls von mir geschriebenen) Onlineshop auf.
    In der ERP-Software konfiguriere ich neben den Artikeln auch das Aussehen und die Menüführung des Onlineshops - im speziellen gings mir um die Warengruppen-Navigation.

    Inzwischen habe ich einen zweiten Anlauf mit dem Treeview-Control gemacht, da es sonst scheinbar nichts als optisch ansprechende Alternative gibt.
    Anbei das Ergebnis (damit kann man sich auch besser vorstellen was ich eigenlich wissen wollte).
    Bilder
    • Ergebnis.gif

      204,23 kB, 1.516×1.220, 173 mal angesehen
    Liebe Grüße
    Roland Berghöfer

    Meine aktuellen und kostenlos verwendbaren Tools (mit VB.NET erstellt): freeremarkabletools.com | priconman.com | SimpleCalendar | AudibleTouch | BOComponent.com | bonit.at
    jo, hübsche bildchen.
    und von wo nach wo soll nun was gedraggt wern?
    Und was genau ist das problem?
    • dragnDrop implementieren?
    • laden/speichern der Treenodes?

    was meinst du mit

    dive26 schrieb:

    in für mich passende Variablen füllen.
    Und wie sollen wir dir dabei helfen, wo uns die für dich passenden Variablen nicht alle bekannt sind?
    @ErfinderDesRades
    Danke, habe ich gestern mit meinem letzten Post schon alles erledigt gehabt.
    Ich wollte nur wissen, ob es eine andere (optisch schönere) Methode gibt als Treeview. Da es scheinbar keine vernünftige Alternative dazu gibt, habe ich es nun doch mit TreeView gemacht.

    Zur Erklärung meiner "hübschen Bildchen" von gestern:
    Links ist eine Liste aller verfügbaren Warengruppen (Treeview) die man in die rechte Menüstruktur (ebenfalls Treeview) ziehen kann.
    Im rechten Treeview kann man zudem die Level-1 Nodes untereinander beliebig verschieben.
    Mit dem Button "Neue Hauptgruppe" kann man eine neue Level-0 Node erstellen und dann so benennen wie man möchte.
    Der Button "Element entfernen" entfernt das Level 0 oder Level 1 Node.
    So kann man sich das Wunschmenü zusammenstellen. Damit es zweidimensional bleibt, habe ich das Drag & Drop auf Level 1 Nodees beschränkt.

    Das mit den Variablen war nicht Bestandteil meiner Frage, da ich den internen Aufbau ja schon mit Erstellung der Webseite (Classic ASP) fixiert habe.
    Rechts im Richtextbox findet man die vom ERP automatisch erstelle ASP Include-Datei, welche einfach zum Webserver hochgeladen wird und der Webshop zeigt die Menüs dann wie gewünscht an.

    Wie gesagt, es funktioniert schon alles seit meinem Post von gestern.

    LG Roland
    Bilder
    • 15112018092542.jpg

      448,3 kB, 1.280×800, 118 mal angesehen
    Liebe Grüße
    Roland Berghöfer

    Meine aktuellen und kostenlos verwendbaren Tools (mit VB.NET erstellt): freeremarkabletools.com | priconman.com | SimpleCalendar | AudibleTouch | BOComponent.com | bonit.at