Custom Renderer "Open everything in new tab"

  • Gerne teile ich hier einen custom renderer, ev. ist er auch hilfeich für andere. Oder jemand sagt mir, dass das viel einfacher gehen würde ;)

    Was soll mein Renderer?

    Dazu folgendes Beispiel:

    In einer Liste stelle ich Budgetchanges von Projektphasen dar, die speziellen Kriterien entsprechen. Unsere Finanzabteilung kann sich so leicht auf dem Laufenden halten über spezielle Veränderungen. Diese Liste funktioniert.

    Nun soll direkt aus dieser Liste von Budgetchanges, die entsprechende Projektphase oder das Projekt per button in der Listen in einem eigenen Tab geöffnet werden um den "Klickaufwand" minim zu halten. Dazu habe ich folgenden custom rednerer erstellt, der abhängig von der Spalten-expression das entsprechende Vertec-Objekt in einem neuen Tab (Detailform) öffnet.
    Ich kann also in der Beispielliste mit den Budgetchanges eine Spalte mit der expression phase erstellen oder auch phase.projekt und meinen custom renderer OpenDetailForm nutzen.

    Durch einen Button in der Spalte, dessen Icon natürlich dem durch die Spalten-expression definierten Objekt entspricht, wird das Objekt (im Beispiel die Phase oder eben das Projekt) in einem neuen Tab geöffnet. Der Tooltip-Text wird auch entsprechend dem zu öffnenden Objekt "gerendert".

    Verweist die Spalten-expression auf ein Member oder sonst was, passiert nichts, und es wird kein Icon angezeigt.

    Screenshot aus einer Liste:
    (Detail am Rande: da das Icon automatisch anzeigt, ob die Phase aktiv/inaktiv ist kann ich auf dies sep. Spalte verzichten)

    Code: