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?
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.
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.
Ein Kommentar zu "LinkToAction auch ohne LeadSelection in Web Dynpro Java"
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