Archiv des Intrexx Live! Forums

Hier sehen Sie die Foreneinträge aus dem Intrexx Live! Forum. Bis November 2016 war es das Forum für alle Fragen rund um die Software Intrexx von United Planet.
Seit November 2016 gibt es ein neues moderiertes Forum, das Intrexx Community Forum. Nutzen Sie bitte unbedingt dieses für aktuelle Fragen, Antworten und Informationen.

Wichtig: Dieses Forum dient als Archiv. Die Einträge beziehen sich oft auf ältere Versionen von Intrexx und entsprechen nicht mehr den aktuellen technischen Gegebenheiten.
Daher sollten alle Inhalte ausschließlich von Experten genutzt werden. Bei unsachgemäßer Anwendung kann es zu zeitaufwändigen Problemen oder Datenverlust kommen.
Übersicht > Intrexx Professional: Programming > Bedingte Anzeige von Schaltflächen in einer Ansichtstabelle

Bedingte Anzeige von Schaltflächen in einer Ansichtstabelle

Hallo,

ich habe ein Problem wozu mir leider keine Lösung einfällt und ich auch nichts im Internet gefunden habe. Jetzt hoffe ich, dass ihr mit weiterhelfen könnt!?
Und zwar habe ich eine Ansichtsseite gebaut, die allgemeine Informationen von einem Datensatz anzeigt sowie die zugehörigen Kinddatensätze in einer Tabelle auflistet. Ziel ist es, dass die Kinddatensätze alle sehen, aber nur von bestimmten Gruppen bzw. Benutzern bearbeitet werden dürfen. Dazu existiert ein Attribut im Kinddatensatz, der dies ermöglichen soll. Mittels einer Schaltfläche in der ersten Spalte der Tabelle kann dann der Benutzer den jeweiligen Datensatz bearbeiten. Bis dahin funktioniert alles sehr gut. attention

Jetzt wollte ich für diese Schaltfläche eine bedingte Anzeige mittels Velocity generieren, damit nur bestimmte Nutzer einen bestimmten Datensatz bearbeiten darf. Ich habe das Gefühl fast am Ziel zu sein und habe auch schon die Datenbankabfrage fertig. Allerdings benötige ich unbedingt die aktuelle ID des Kinddatensatzes, um jede Zeile in der Tabelle prüfen zu können, ob der Benutzer den Datensatz bearbeiten darf oder nicht. Ich habe gehofft, dass ich die ID mittels „$DC.getRecId()“ ermitteln kann, aber da wird mir nur die ID des Elterndatensatzes ausgegeben.
Hat jemand von euch eine Idee, wie ich die Bearbeitungsschaltfläche für den jeweiligen Datensatz in Abhängigkeit des Benutzers ein- oder ausblenden kann?


Meine Velocity sieht momentan so aus:


##Ermittle aktuelle UserID#set( $ActualUserId = $User.getId() )
##Ermittle Datensatz ID#set($IDD = $DC.getRecId())

##Ermittle, ob Benutzer das Recht hat den Datensatz zu bearbeiten.#set($statement = $PreparedQuery.prepare($DbConnection, "SELECT CASE WHEN (SELECT l_koordinatoren FROM xdatagroup92eafe1e WHERE lid = ?) IN (SELECT fklid FROM xdatagroupb76a580c WHERE l_benutzerid = ?) THEN 1 ELSE 0 END AS ACCESS"))$statement.setInt(1, $IDD)$statement.setInt(2, $ActualUserId)
#set($result = $statement.executeAndGetScalarValue(0))$statement.close()
##Sperre das Feld, wenn kein Zugriff besteht#if($result == 0) #set($show_imageactioncontrolC9D0DEFD = false)
#else #set($show_imageactioncontrolC9D0DEFD = true)#end




Danke schon mal!

JimK
16.09.2016 06:22 von satan_jim_knopf
Hallo Jim!

In freien Tabellen kannst du dir die Datensatz-GUID via $drRecord.getRecId() auslesen. Ob das bei einer Ansichtstabelle auch funktioniert, kann ich dir nicht garantieren.

Falls nicht, kannst du versuchen mittels $drRecord.getValueHolder('<Spalten-Name>').getValue() auf die gewünschte Spalte zu zugreifen.

Grüße aus Österreich!
16.09.2016 06:34 von nmayer
In Tabellen muss man generell anstatt $DC, $drRecord verwenden um auf den aktuellen Datensatz zuzugreifen.
16.09.2016 06:43 von MartinW
Vielen Dank für eure Hilfe!!! thumbsup Endlich funktioniert es rolleyes

Folgender Code liefert mir die gewünschten Datensatz ID's aus meiner Ansichtstabelle:

#set($IDD = $drRecord.getRecId())



LG
JimK
16.09.2016 07:40 von satan_jim_knopf
Zurück | Alles über Intrexx | Impressum | Datenschutzerklärung

Über United Planet
© 2019 United Planet GmbH
Schnewlinstraße 2
79098 Freiburg