Page 1 of 1

Displayexpression aktualisieren

Posted: 09. Jul 2013, 13:57
by Diana
Hallo,
habe eine neue Datenbasis erstellt, mit einer Relation auf die Personentabelle.
Im Dialog zeige ich ein Feld mit der Relation auf die UserClassBase an und ein Feld mit einer DisplayExpression auf den Standort dieser Person.
JA, leider bedarf es einem "Speichern" und "Aktualisieren" bevor die DiplayExpression angezeigt wird.
Kann ich dem RelationFeld bei "Änderung" einige Kommandos mitgeben, das er das andere Feld aktualisieren soll?
Wenn ja, welche denn?
Diana

Re: Displayexpression aktualisieren

Posted: 12. Jul 2013, 10:58
by Christian.Mosdziel
Hallo Diana,

hast du für das Feld in der die DisplayExpression aktualisiert werden soll ein relationiertes Feld verwendet?
Wenn ja kannst du folgendes versuchen:
zunächst musst du innerhalb des Dialogscripts eine Funktion schreiben. Diese musst du als "ReferenceChangedEvent" an das Feld mit dem relationierten User hängen (unter "Erweiterte Eigenschaften") ReferenceChangedEvent="UserChanged"
die Funktion könnte folgendermaßen aussehen:
function UserChanged(elem) {
var locID = Guid_Empty;
if (elem.ReferencedFragmentID != Guid_Empty) {
locID = AjaxServices.GetAjaxSpsFragment('SPSUserClassBase', elem.ReferencedFragmentID, "T(SPSCommonClassBase).Location.ID").value;
locID = locID != null && locID.DisplayText ? locID.DisplayText : Guid_Empty;
}
ReloadFragment(RHSIncidentClassCustomLocation.replace('_LinkTextBox',''),locID);
}
Wobei "RHSIncidentClassCustomLocation" der Variablen für die ID deines Feldes mit der DisplayExpression entspricht.
Ich hoffe ich konnte dir damit helfen!

LG

Christian

Re: Displayexpression aktualisieren

Posted: 12. Jul 2013, 11:20
by Diana
Beide Felder waren aequivalent und unterschieden sich lediglich in der Displayexpression.
Ich habe gestern allerdings einen Tip bekommen es anders zu handhaben und habe mir für das zu füllende Feld ein Attribut angelegt. Das andere Eingabefeld wird ein Steuerelement mit folgendem Inhalt.
<sps:SpsTextBoxLink
id="Antragsteller"
Mandatory="false"
readonly="false"
allownavigation="true"
runat="server"
spsclass="Ud_SVAccountFormClassBase"
spsattribute="Antragsteller"
autopostback="true"
relateddefaultvaluesmode="OnPrerender">
<sps:DefaultValue
displayexpression="T(SPSCommonClassBase).Location.ID"
destinationcontrolid="Ud_SVAccountFormClassBaseLocation"/>
</sps:SpsTextBoxLink>

Das klappt ganz gut. Ist das Ziel allerdings ein TreeLinkView werden die Werte nicht übernommen.
Danke trotzdem. Ich werde sicherlich Deine Infos nochmal brauchen. Freue mich immer ueber verwertbaren Quelltext (man findet so wenig, wo man am Schluß weiss, was raus klommt :wink: ).