• Englisch
  • Docs
  • Wissensdatenbank
  • F.A.Q
  • Forum
  • Medien
  • Kurse
  • Marktplatz
  • Login
  • Try for free
  • Englisch
  • Docs
  • Wissensdatenbank
  • F.A.Q
  • Forum
  • Medien
  • Kurse
  • Marktplatz
  • Login
  • Try for free
home/Wissensdatenbank/Anleitungen/Arbeiten mit Drag & Drop

Arbeiten mit Drag & Drop

Written by Jennifer Häfner
Juli 24, 2024

In diesem Artikel erfahren Sie, wie Sie Simplifier-Widgets Drag & Drop-Verhalten hinzufügen.
Dies kann nützlich sein, wenn die Benutzer Ihrer Anwendung in der Lage sein sollen, die Reihenfolge von Listenelementen (oder anderen Objekten) auf intuitive Weise zu ändern, ohne Schaltflächen oder andere Elemente verwenden zu müssen.
Wir werden zwei Szenarien behandeln: In Szenario 1 werden Listenelemente innerhalb einer Liste verschoben.
In Szenario 2 werden Listenelemente zwischen zwei verschiedenen Listen verschoben.

Sie können die Beispielanwendung, die wir in diesem Artikel beschreiben , auf dem Simplifier-Marktplatz herunterladen.

Voraussetzungen

Um mit der Drag & Drop-Funktionalität arbeiten zu können, sollten Sie bereits wissen, wie Sie eine Anwendung erstellen , und mit dem Konzept des UI-Designers vertraut sein.

Drag & Drop in Simplifier-Widgets

Um das Drag & Drop-Verhalten in einem Simplifier-Widget zu aktivieren, benötigt das Widget grundsätzlich zwei zusätzliche Steuerelemente:

  • DragInfo: die Konfiguration des Verhaltens “Ziehen”, das dem Element hinzugefügt wird, das gezogen wird
  • DropInfo: die Konfiguration des Drop-Verhaltens, das dem Element hinzugefügt wird, in dem ein gezogenes Element abgelegt werden kann

Mit den Steuerelementen DragInfo und DropInfo können Sie festlegen, welches Element gezogen werden soll, wo ziehbare Elemente abgelegt werden können, wie die Drop-Animation aussehen soll usw. In den DragInfo-Steuerelementen und DropInfo-Steuerelementen gibt es zwei wichtige Eigenschaften: die Eigenschaft groupName und die Eigenschaft sourceAggregation/targetAggregation. Mit groupName können Sie eine Verbindung zwischen Drag & Drop-Objekten herstellen. Wenn zwei Drag & Drop-Objekte denselben Gruppennamen haben, können Elemente aus einem Objekt per Drag & Drop auf das andere Objekt gezogen und abgelegt werden. Wenn der Gruppenname unterschiedlich ist, können Elemente aus einem Objekt nicht per Drag & Drop auf das andere Objekt gezogen werden. Mit sourceAggregation/targetAggregation können Sie den Namen der Aggregation angeben, aus dem alle untergeordneten Elemente per Drag/Drop gezogen werden können. Zum Beispiel sind die untergeordneten Elemente einer Liste die Listenelemente, daher muss sourceAggregation/targetAggregation ‘items’ sein. Sie können die spezifische Aggregation eines Widgets finden, indem Sie in den Widget-Eigenschaften im UI-Designer auf den Link Basistyp klicken. Dieser Link führt zur OpenUI5-Dokumentation für das Widget. Wenn keine sourceAggregation/targetAggregation angegeben ist, kann das Widget selbst per Drag/Dropping verschoben werden.

Da Simplifier Widgets auf dem OpenUI5-Framework basieren, können Sie in der OpenUI5 Drag & Drop-Dokumentation detailliertere Informationen zu den verfügbaren Drag & Drop-Optionen finden.

Szenario 1 – Drag & Drop von Listenelementen innerhalb einer Liste

In diesem Szenario sollten die Benutzer in der Lage sein, die Reihenfolge der Listenelemente innerhalb einer Liste zu ändern.

  • Erstellen Sie eine Liste im UI Designer und fügen Sie Listenelemente hinzu (oder verwenden Sie eine vorhandene Liste)
  • Fügen Sie das Widget ‘ui_core_dnd_DragInfo’ zur Liste hinzu
  • Geben Sie einen Gruppennamen in die Widget-Eigenschaft ‘groupName’ ein
  • Setzen Sie die Eigenschaft ‘sourceAggregation’ auf ‘items’
  • Fügen Sie das Widget ‘ui_core_dnd_DropInfo’ zur Liste hinzu
  • Geben Sie einen Gruppennamen in die Widget-Eigenschaft ‘groupName’ ein (der Gruppenname muss mit dem im DragInfo-Steuerelement übereinstimmen)
  • Setzen Sie die Eigenschaft ‘targetAggregation’ auf ‘items’
  • Legen Sie die Eigenschaft ‘dropPosition’ auf ‘OnOrBetween’ fest.

Nun müssen Sie konfigurieren, was passieren soll, wenn ein Element auf ein anderes Element gezogen und dann abgelegt wird:

  • Wechseln Sie zum Prozess-Designer, erstellen Sie eine neue Story oder öffnen Sie eine vorhandene Story
  • Fügen Sie eine “Subscribe Event”-Form hinzu und wählen Sie das “Drop”-Event des DropInfo-Widgets Ihrer Liste aus
  • Fügen Sie ein ‘Skript’-Shape hinzu, und verbinden Sie es mit dem ‘Drop’-Event-Shape
  • Fügen Sie den folgenden Code in das Skript ein:
    var oDraggedItem = oEvent.getParameter("draggedControl"),
        oDroppedItem = oEvent.getParameter("droppedControl"),
        oList = oDraggedItem.getParent(),
        iPositionRemove = oList.indexOfItem(oDraggedItem),
        iPositionAdd = oList.indexOfItem(oDroppedItem);
    
    oList.removeItem(iPositionRemove);
    oList.insertItem(oDraggedItem, iPositionAdd);
    
  • Dieser Code entfernt das gezogene Listenelement von der Position in der Liste, an der es sich zuvor befand, und fügt es der Position in der Liste hinzu, an der es abgelegt wurde
  • Stellen Sie abschließend die Anwendung bereit und öffnen Sie sie.
    In Ihrer Liste sollten Sie nun in der Lage sein, die Listenelemente per Drag & Drop zu verschieben

Szenario 2 – Drag & Drop von Listenelementen zwischen zwei Listen

In diesem Szenario sollten die Benutzer in der Lage sein, Listenelemente per Drag & Drop zwischen zwei Listen zu ziehen.

  • Erstellen Sie zwei Listen im UI Designer und fügen Sie jeder Liste Listenelemente hinzu (oder verwenden Sie vorhandene Listen)
  • Fügen Sie das Widget ‘ui_core_dnd_DragInfo’ zu beiden Listen hinzu
  • Geben Sie einen Gruppennamen in die Widget-Eigenschaft ‘groupName’ ein.
    Der Gruppenname sollte sich von dem Gruppennamen unterscheiden, den Sie in Szenario 1 verwendet haben
  • Setzen Sie die Eigenschaft ‘sourceAggregation’ auf ‘items’
  • Fügen Sie das Widget ‘ui_core_dnd_DropInfo’ zu beiden Listen hinzu
  • Geben Sie einen Gruppennamen in die Widget-Eigenschaft ‘groupName’ ein (der Gruppenname muss mit dem im DragInfo-Steuerelement übereinstimmen)
  • Setzen Sie die Eigenschaft ‘targetAggregation’ auf ‘items’
  • Legen Sie die Eigenschaft ‘dropPosition’ auf ‘OnOrBetween’ fest.

Nun müssen Sie konfigurieren, was passieren soll, wenn ein Element aus einer Liste gezogen und dann auf einem Element in der anderen Liste abgelegt wird:

  • Wechseln Sie zum Prozess-Designer, erstellen Sie eine neue Story oder öffnen Sie eine vorhandene Story
  • Fügen Sie eine Form “Ereignis abonnieren” hinzu und wählen Sie das Ereignis “Drop” des DropInfo-Widgets beider Listen aus
  • Fügen Sie ein “Skript”-Shape hinzu, und verbinden Sie es mit beiden “Drop”-Ereignis-Shapes
  • Fügen Sie den folgenden Code in das Skript ein:
    var oDraggedItem = oEvent.getParameter("draggedControl"),
        oDroppedItem = oEvent.getParameter("droppedControl"),
        oSourceList = oDraggedItem.getParent(),
        oGoalList = oDroppedItem.getParent(),
        iPositionRemove = oSourceList.indexOfItem(oDraggedItem),
        iPositionAdd = oGoalList.indexOfItem(oDroppedItem);
    
    oSourceList.removeItem(iPositionRemove);
    
    //if goal list is empty: oDroppedItem is already oGoalList
    if (oDroppedItem.getMetadata().getParent()._sClassName === "sap.m.List"){
        oDroppedItem.addItem(oDraggedItem);
    } else {
        oGoalList.insertItem(oDraggedItem, iPositionAdd);
    }
  • Dieser Code entfernt das gezogene Listenelement von der Position in der Liste, an der es sich zuvor befand, und fügt es der Position in der anderen Liste hinzu, an der es abgelegt wurde
  • Stellen Sie abschließend die Anwendung bereit und öffnen Sie sie.
    Sie sollten jetzt in der Lage sein, Listenelemente per Drag & Drop von einer Liste in die andere zu ziehen
Tags:BENUTZEROBERFLÄCHETextAnDesignerSkriptVerbindung

Was this article helpful?

Yes  No
Related Articles
  • Feinabstimmung und Ausführung benutzerdefinierter AI-Modelle in Simplifier
  • Verwendung der Simplifier Teams App
  • Wie man wertvolle Hilfen und Vorschläge in Benutzereingaben integriert
  • So integrieren Sie Simplifier in CI/CD-Pipelines
  • So verwenden Sie Google reCAPTCHA v3 Essentials
  • Erstellen eines ChatBot-Clients für ChatGPT
Leave A Comment Antworten abbrechen

Du musst angemeldet sein, um einen Kommentar abzugeben.

Anleitungen
  • Arbeiten mit Drag & Drop
  • So integrieren und verwenden Sie externe Bibliotheken in Simplifier Apps
  • Verwenden von Abfrageoptionen im ODataV2-Connector
  • So verwenden Sie das TimePicker-Widget
  • Dynamische where-Klausel und wiederholbare Anweisung
  • Versions- und Release-Management in Simplifier
  • Protokolle und Überwachung in Simplifier
  • Verwenden Sie die Adobe PDF-Einbettungs-API in Ihrer Simplifier-Anwendung
  • PDF-Vorlagen: Gestalten Sie den Inhalt der Kopf-/Fußzeile dynamisch
  • Konvertieren von Text in Sprache mit dem Google TTS Connector
  • So verwenden Sie das Simplifier Content Repository Plugin
  • Erstellen von Testfällen mit dem UI5 Test Recorder
  • Erstellen Sie eine PDF-Vorlage über das Plugin
  • Generieren eines PDFs mit Simplifier per Plugin
  • So setzen Sie Simplifier-Umgebungsvariablen in Open Shift
  • So senden und empfangen Sie Push-Benachrichtigungen
  • Volltextsuche nach PDF-Dokumenten
  • Volltextsuche nach Excel-Dateien
  • So implementieren Sie eine Genehmigungs-App in Simplifier
  • Authentifizierung über ein anderes Fenster
  • Erstellen eines ChatBot-Clients für ChatGPT
  • So verwenden Sie Google reCAPTCHA v3 Essentials
  • So integrieren Sie Simplifier in CI/CD-Pipelines
  • Wie man wertvolle Hilfen und Vorschläge in Benutzereingaben integriert
  • Verwendung der Simplifier Teams App
  • Feinabstimmung und Ausführung benutzerdefinierter AI-Modelle in Simplifier
Knowledgebase Categories
  • Erste Schritte 4
  • Mobiler Client 2
  • Layout & Design 4
  • Widgets 8
  • Integration 10
  • Datenbank Handling 1
  • Anleitungen 26
  • Best Practices 3
  • Cloud Services 6
  • Plugins 6

  So verwenden Sie Google reCAPTCHA v3 Essentials

Währungsformatierung mit UI5-Typbindung  

GetApp Bewertung

Benutzerbewertungen

Capterra

Benutzerbewertungen

Für AWS-Kunden

Für SAP-Kunden

  • Contact | Imprint | Privacy | © 2025 Simplifier AG. All Rights Reserved.

  • Englisch
  • Deutsch

Link einfügen/ändern

Gib die Ziel-URL ein

Oder verlinke auf bestehende Inhalte

    Es wurde kein Suchbegriff angegeben. Es werden die aktuellen Inhalte angezeigt. Verwende zur Auswahl eines Elements die Suche oder die Hoch-/Runter-Pfeiltasten.