- 26. September 2013
  1 Kommentar

LinkToAction auch ohne LeadSelection in Web Dynpro Java

Wenn in WebDynpro Java in einer Tabelle für jede Zeile eine spezielle Funktion ausgeführt werden soll, dann funktioniert das in der Regel einfach über ein LinkToAction-Control und die Auswertung der LeadSelection. Wenn die LeadSelection allerdings anderweitig verwendet wird, dann braucht es einen kleinen Trick.

Ausgangspunkt ist eine Tabelle mit zwei Spalten, einer informativen und einer ausführenden, die hat das UI Element LinkToAction. Die ausführende soll aber nicht mit LeadSelection funktionieren, da die LeadSelection für eine andere Funktion benötigt wird. Wie also kann man dem UI Element mitteilen, welches Element es zu nutzen (in diesem Fall: zu löschen) hat?

Tabelle mit UI Element LinkToAction

Tabelle mit informativer und ausführender Spalte, welche das UI Element LinkToAction hat.

Voraussetzungen: Tabelle mit den zwei Spalten, einmal Informationen und die zweite mit dem UI Element „LinkToAction“

1. Anlegen einer Methode mit Parameter für das UI Element „LinkToAction“ mit Parameter des Types IWDNodeElement.

Methode mit Parameter für das UI Element "LinkToAction"

Methode mit Parameter für das UI Element „LinkToAction“

Ablauf: LinkToAction ohne LeadSelection

Ablauf: LinkToAction ohne LeadSelection

2. In der Methode wdDoModify() der View wird mit folgendem Code das UI Element LinkToAction instanziiert.

„LinkToAction“ beschreibt die ID des UI Elements LinkToAction:

IWDLinkToAction link = (IWDLinkToAction) view.getElement(„LinkToAction“);
link.mappingOfOnAction().addSourceMapping(„nodeElement“, „selectedElement“);

3. Das Coding für den ausführenden Teil kommt in die onAction Methode:

public void onActionDeleteFavorite(com.sap.tc.webdynpro.progmodel.api.IWDCustomEvent wdEvent, com.sap.tc.webdynpro.progmodel.api.IWDNodeElement selectedElement )
{
//@@begin onActionDeleteFav(ServerEvent)

IPrivateDashboardCompView.IMyFavorites_TableElement element = (IPrivateDashboardCompView.IMyFavorites_TableElement) selectedElement;

wdContext.nodeMyFavorites_Table().removeElement(element);
//@@end
}

4. Jetzt nur noch dem Link die Methode „DeleteFavorite“ zuweisen
5. Speichern, Builden und Deployen. Run the Application. Dann sollte der Link idealerweise funktionieren

Viel Spaß beim Ausprobieren und Selberbauen. Für Anregungen und Kritik bin ich dankbar. Falls Sie Fragen haben, dann scheuen Sie sich nicht, mir ebenfalls einen Kommentar zu hinterlassen.


SHARE


Ein Kommentar zu "LinkToAction auch ohne LeadSelection in Web Dynpro Java"

Jabrane Anam - 28. März 2014 | 12:32

Guten Tag Frau Lehmann,
könnten Sie mir bitte verraten wie ich einen LinkToUrl innerhalb eines Tupels in einer Tabelle erstellen kann ?

Vielen Dank im Voraus !
Mit freundlichen Grüßen.

Jabrane Anam

Antworten

Schreiben Sie einen Kommentar

Bitte füllen Sie alle mit * gekennzeichneten Felder aus. Ihre E-Mail Adresse wird nicht veröffentlicht.