Document ID: /fineweb-2-swissfilter-quality_10-filterrobots/filtered/03448.jsonl.gz/1078

Problem
Sie wollen in der Logic eines Html User Dialogs Komponenten updaten bzw. neu rendern lassen.
Lösung
Über den PartialViewContext kann man Ids von Komponenten die geupdatet werden sollen hinzufügen.
SVN
Sie können das fertige Projekt per SVN von http://xpert-ivy-hacker-source-code.googlecode.com/svn/trunk/Forms in den Xpert.ivy Designer importieren.
Code
Die Demo Update Component From Logic Demo zeigt, wie man normale Komponenten sowie Composite Components updaten kann.
Code-Snippet 1 zeigt, welcher Code nötig ist, um normale Komponenten (Zeile 3) und Composite Components (Zeile 4) innerhalb der Logic updaten zu können.
Code-Snippet 1: Komponenten in der Logic updaten
Interessant bei Composite Components ist, dass man die Id 2 mal angeben muss. Ein Blick auf die Implementation verrät auch warum das so ist.
Code-Snippet 2: Composite Component Id
Wie auf Zeile 2 zu sehen ist, wird die Id, die von aussen per <ic:forms.UpdateComponentFromLogicComponent id="mycomponent" /> mitgegeben wird, per #{cc.id} eingesetzt. Der Pfad setzt sich nun aus der Id im Parent sowie der Id im Composite Component zusammen. Da beide die selbe Id haben, muss man es auch 2 mal angeben.
Über den Author: Heinrich Spreiter ist der Gründer von xpertivyhacker.ch. Kontaktieren Sie ihn auf Xing und Twitter