Domino 9 und frühere Versionen > ND8: Entwicklung

Liste der Agenten sortieren

<< < (2/2)

pram:
Tode, eine Anmerkung von mir, bei sowas schrillen bei mir immer die Alarmglocken:

--- Code: ---Evaluate( {@Sort( @Explode( "}&strAgents&{";"~");[ASCENDING])} )
--- Ende Code ---

Spätestens wenn im Agentname ein " vorkommt, kracht es.
(außerdem sind Code-Injections möglich. z.B. wenn der Agentname irgendwie so
" + @SetDocField(....) + "
lauten würde, dies ist zwar hier unwahrscheinlich, spätestens bei Werten die der User eingeben kann, sollte man aber vorsichtig sein.)
Die Länge der Formel ist weiterhin auf ~2K beschränkt

Besser ist es, wenn man die Parameter über ein Dokument rein reicht:

--- Code: ---doc.agents = strAgents
Evaluate( {@Sort( @Explode( "agents";"~");[ASCENDING])}, doc )
--- Ende Code ---
Die Formel kann dann sogar zur Compilezeit überprüft werden.


Gruß
Roland

/edit: je nach Anwendungsfall kann man sogar folgendes machen: http://www-10.lotus.com/ldd/ddwiki.nsf/dx/view-of-design-elements.htm (FormulaClass kann man seit 8.5.1. bequem über den DXL-Editor anpassen)
Die Ansicht muss natürlich in der Anwendung mit den Agenten erstellt werden. Wir verwenden sowas z.B. zur Auswahl von Teilmasken etc. Die Dropdown-Felder werden dabei über einen @DBlookup/@DBColumn befüllt

Tode:
@Roland: Du hast vollkommen recht... Das ganze fällt auch auf die Schnauze, wenn jemand ein "~" im Agentenname benutzt... Ich wollte auch nur eine grundsätzliche Möglichkeit aufzeigen... Aber auf die Gefahren hätte ich natürlich hinweisen sollen. Die Design- Klasse ist natürlich hierfür auch ganz gut zu benutzen, und die Ansicht für Desing- Elemente verwende ich auch ab und zu, also danke für die Ergänzungen.

Bruce Willis:

--- Zitat von: pram am 12.12.12 - 11:22:27 ---...eine Anmerkung von mir...
Besser ist es, wenn man ...
je nach Anwendungsfall kann man sogar ...

--- Ende Zitat ---
Vielen Dank für Deine Vorschläge, Roland !

Bruce Willis:

--- Zitat von: Tode am 12.12.12 - 11:41:01 ---...eine grundsätzliche Möglichkeit ...

--- Ende Zitat ---

Nochmals vielen Dank!!!
Funktioniert perfekt!
Ich musste nur hier zusätzlich Leerzeichen einfügen:


--- Code: ---varSortedAgents = Evaluate( {@Sort( @Explode( "}& strAgents &{";"~");[ASCENDING])} )

--- Ende Code ---

Navigation

[0] Themen-Index

[*] Vorherige Sete

Zur normalen Ansicht wechseln