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: Suggestions > Baumkontrolle - "Default-Selection" via RecId sinnvoll ??

Baumkontrolle - "Default-Selection" via RecId sinnvoll ??

Hallo,

wo ich gerade dabei bin...

Mir ist folgendes unschönes Verhalten der Baumkontrolle - in diesem Fall einer Ansichtskontrolle - aufgefallen.

Beispiel-Szenario:
Datengruppe
Produktion mit Kinddatengruppe
Farben.
Unterhalb der DG Produktionen befindet sich eine Ansichtsseite mit einer Ansichtstabelle, welche die abhängigen Daten der KindDG Farben anzeigt.
Um diese weiter gemäß der Prduktion zugehöriger Prozessschritte zu filtern, befindet sich auf der Ansichtseite ein Ansichtselement vom Typ "Baumkontrolle" welche die Prozesschritte hierarisch abbildet. Über eine Abhängigkeit in der Ansichtstabelle auf die Baumkontrolle wird die Filterung vollzogen.
Funktioniert alles Bestens!!

ABER: Springt man nun auf diese Ansichtsseite und die Datensatz-ID (RecId) der Produktion ist zufälligerweise identisch mit der ID einer Option/eines Ordners der Baumkontrolle, dann wird diese VORSELEKTERT und die Filterung entsprechend schon ausgelöst.

Ein Blick hinter die Kulissen erbrachte folgendes:
Im xsl der Baumkontrolle (treecontrol.xsl) wird im folgenden Abschnitt (Zeile 12 und 13)

<xsl:template match="part[(at)upType='upTreeContainerControl' or (at)upType='upTreeContainerEditControl']" mode="tree_options">
...
...
<!-- selektierten Ordner ermitteln -->
<xsl:text>#set($l_strSelectedId = $null)</xsl:text>
<xsl:text disable-output-escaping="yes">#if($Request.containsKey("qs_selNodeId") &amp;&amp; $Request.containsKey("qs_treeContainerGuid")</xsl:text>
<xsl:if test="(at)tree-communication='self'">
<xsl:text disable-output-escaping="yes">&amp;&amp; $Request.get("qs_treeContainerGuid") == "</xsl:text><xsl:value-of select="$nTreeSettings/(at)guid" /><xsl:text>"</xsl:text>
</xsl:if>
<xsl:text>)</xsl:text>
<xsl:text>#set($l_strSelectedId = $Request.get("qs_selNodeId"))</xsl:text>
<xsl:text>#elseif($FupRecId_</xsl:text><xsl:value-of select="$FupGuid"/><xsl:text>!= '-1')</xsl:text>
<xsl:text>#set($l_strSelectedId = $FupRecId_</xsl:text><xsl:value-of select="$FupGuid"/><xsl:text>)</xsl:text>
<xsl:text>#{end}</xsl:text>

bei nichtvorhandensein der Requestparameter
qs_selNodeId und
qs_treeContainerGuid automatisch die aktuelle RecId verwendet (falls != '-1').

Meiner Meinung nach macht dies aber nur Sinn, wenn sich die Baumkontrolle auf einer Seite unterhalb der "eigenen" Datengruppe ((at)link-datagroup) befindet. Denn ansonsten hat die aktuelle RecId recht wenig mit den Daten der Baumkontrolle gemein.

Meine aktuelle Lösung des Problems habe ich mit einer kleinen Modifikation des Templates erreicht (via custom-template mit priority="1").
Ich erweitere die Prüfung auf die RecId mit einer Prüfung auf die aktuelle Datengruppe im Vergleich zur Datengruppe der Baumkontrolle:

<xsl:text>#elseif($FupRecId_</xsl:text><xsl:value-of select="$FupGuid"/><xsl:text disable-output-escaping="yes"> != '-1' &amp;&amp; $RtCache.getPage('</xsl:text><xsl:value-of select="$FupGuid"/><xsl:text>').getDataGroupGuid() == '</xsl:text><xsl:value-of select="$nTreeSettings/(at)link-datagroup"/><xsl:text>')</xsl:text>

So wird nur dann die RecId verwendet, wenn sich die Baumkontrolle auf einer Seite unterhalb ihrer "eigenen" zugewiesenen Datengruppe befindet.

Falls es aber Gründe für dieses Verhalten gibt, würde mich das sehr interessieren. attention

Gruß, handw3rker
06.04.2013 18:11 von handw3rker
Zurück | Alles über Intrexx | Impressum | Datenschutzerklärung

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