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 > Schaltflächenspalten in Tabellen formatieren

Schaltflächenspalten in Tabellen formatieren

Liebe UPler,
Schaltflächenspalten, die mit Zahlen belegt werden können nicht formatiert werden. Ich kann zwar bei der Übergabe eine Formatierung auf Datenbank Ebene ausführen, dies nützt mir aber bei mehrsprachigen Portalen wenig.

Ich habe eine Kreuztabelle als Übersicht in Form eine Fremd-Daten-Gruppe eingebunden. Der Klick auf eine Schaltfläche übergibt einen Parameter an die aufrufende Form und filtert diese nach dem Parameter. Das bedeutet, ich benötige eine Schaltfläche mit dem Code:

function requestUebergabeSchaden(oButton, oTable) {
var buttonId = oButton.id;
var start = buttonId.lastIndexOf("_");
var num = buttonId.substring(start + 1, buttonId.length);
var oColumn = oTable.getColByGuid("6F2E9F52A3515F45C4F271316D875D7D88B557FE"); /*strName textvcontrol*/
var oValue = oColumn.getNodeValue(num);
oButton.oUp.oTarget.addParam = Helper.setQsValueByParam('rq_param1', oValue, oButton.oUp.oTarget.addParam);
return true;


Der Parameter wird auch ganz toll gesetzt und die Detailansicht wird sehr schön als Tooltip eingeplendet. Vielen Dank an Alexander Ehle für die Beispiele.

Nur können die Schaltflächen nicht mit Tausender Punkten, bzw. Kommata formatiert dargestellt werden.

Viele Grüße aus Frankfurt
Boris Wenzel
30.01.2013 16:06 von BorisWenzel
Hi,

schau dir falls du auf der Schaltfläche mit Velocity arbeiten kannst mal die $RendererFactory an. Damit kannst du einen eigenen Renderer erzeugen, der dann deinen ValueHolder im aktuellen Benutzerformat ausgeben kann.
07.02.2013 08:57 von Khal_Drogo
Hallo,

auch hier verweise ich gerne wieder auf das Expert-Attribut "encode-vtl", welches, wenn mit dem Wert "false" belegt, es ermöglicht, im Titel der Schaltfläche VTL-Code zu setzen.
Der Workaround sähe dann folgendermaßen aus:

In der Ansichtstabelle muss die Spalte mit den Zahl-Werten hinzugefügt werden. Anschließend dieser Spalte das Expert-Attribut "hidden" setzen mit dem Wert "true/ja".
Nun fügt man eine Schaltflächenspalte hinzu. Diese stellt man auf Schltflächentyp "Text". Im Expert-Reiter der Schaltflächenspalte wird das Attribut "encode-vtl" auf "false" gesetzt. Nun kann man im Titel den VTL-Code eingeben. Zu beachten wäre hierbei, dass dies dann in allen verfügbaren Sprachen gesetzt werden muss.
Der VTL-Code könnte dann so aussehen:
$DefaultCurrencyRenderer.getOutput($drRecord.getValueHolder('floatvcontrol04393050'))

Erklärung zum Code:
Ich verwende hier den DefaultCurrencyRenderer und übergebe den ValuHolder der ausgeblendeten Spalte mit meinen Werten. Der Name der Spalte kann im Expert-Reiter ausgelesen werden (name).

Das Ergebnis sieht man im Anhang.

Gruß, Thomas
07.02.2013 17:39 von handw3rker
Cool, Danke thumbsup
12.02.2013 16:08 von BorisWenzel
Hallo Boris,

mir ist gerade mal noch eine kleine Verbesserung des Handlings dazu eingefallen.

Man kann natürlich auch in der Schaltflächenspalte - anstatt einen eigenen Renderer aufzubauen - auch das Intrexx-interne Makro verwenden, um den Wert aus der ausgeblendeten Spalte in die Aktionskontrolle zu schreiben.

Dieses Makro beginnt immer mit "
#getValue_" gefolgt vom Namen der Kontrolle.
Also in etwa so:
#getValue_floatvcontrol04393050()

Somit kann man bequem die Formatierung der Zahl-Werte in der ausgeblendeten Spalte einstellen. Diese werden dann automatisch übernommen, da dieses interne Makro den Renderer bereits verarbeitet.

Auf gutes Gelingen... thumbup

Gruß, Thomas
12.02.2013 16:49 von handw3rker
Ich weiß ja nicht ob ich gerade was übersehe, aber ich verwende Intrexx 6 (weiß nicht ob es auch in der 5er Version schon geht) und kann dort der "Zahlen Spalte" unter dem Reiter Optionen sagen das diese als Link dargestellt werden soll. Dann ist bei uns auch die Formatierung noch drin. Oder habe ich jetzt da was übersehen?

mfg
Angsthase

Edit: Ah... man will ja auch noch einen Requestwert mit übergeben, das weiß ich leider aber nicht ob das dann geht.
14.02.2013 07:17 von Angsthase
Genau, der Reiter "Script" fehlt bei Zahlenspalten.

Für die Parameterübergabe wird im OnClick - Ereignis der Schaltfläche requestUebergabeSchaden(this, oTableReg.getTableByGuid("<GUID der Ansichtstabelle>")); übergeben.

Gruß
Boris
14.02.2013 09:32 von BorisWenzel
Zurück | Alles über Intrexx | Impressum | Datenschutzerklärung

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