Hi Serge, Nice to hear you managed to resolve your own question. I see you are actually using an XML document as your datasource. I never had this particular use case so I never used the binding functionality.
Thx for sharing your solution. I'm sure others will benefit from this. Robby From: Serge Aleshin [mailto:fkt...@gmail.com] Sent: Tuesday, September 20, 2011 12:40 PM To: users@cocoon.apache.org Subject: Re: how to set initial value in MultiValueField widjet Hello Robby! I solved my problem. In form defenition file: <fd:multivaluefield id="mm"> <fd:label>Name:</fd:label> <fd:datatype base="string"/> <fd:selection-list> <fd:item value="IVAN"/> <fd:item value="PETR"/> <fd:item value="LIDA"/> <fd:item value="GEORG"/> <fd:item value="FEDYA"/> </fd:selection-list> </fd:multivaluefield> In binding file: <fb:context path="data" xmlns:fb="http://apache.org/cocoon/forms/1.0#binding"<http://apache.org/cocoon/forms/1.0#binding>> <fb:multi-value id="mm" parent-path="." row-path="mm" /> </fb:context> In data for binding file: <data> <mm>IVAN</mm> <mm>LIDA</mm> </data> In flowscript file: function loadDocument(uri) { var parser = null; var source = null; var resolver = null; try { parser = cocoon.getComponent(Packages.org.apache.excalibur.xml.dom.DOMParser.ROLE); resolver = cocoon.getComponent(Packages.org.apache.cocoon.environment.SourceResolver.ROLE); source = resolver.resolveURI(uri); var is = new Packages.org.xml.sax.InputSource(source.getInputStream()); is.setSystemId(source.getURI()); return parser.parseDocument(is); } finally { if (source != null) resolver.release(source); cocoon.releaseComponent(parser); cocoon.releaseComponent(resolver); } } cocoon.load("servlet:forms:/resource/internal/flow/javascript/Form.js"); function registration() { var form = new Form("cocoon://form.def.xml"); form.createBinding("cocoon://binding.xml"); var document = loadDocument("cocoon://dataForMM.xml"); form.load(document); form.showForm("registration-display-pipeline"); var viewData = { "username" : form.getChild("mm").getValue()[0] } cocoon.sendPage("registration-success-pipeline", viewData); } That is all. The row with value "LIDA" and "IVAN" are "selected". Thanks for help. Hi Serge, I don't think it's possible to accomplish your requirements directly in the form definition but it should be straightforward if you do it programmatically. Since it's a multivalue-widget you can set the Options (values to pick from) by using void setSelectionList<http://cocoon.apache.org/2.1/apidocs/org/apache/cocoon/forms/formmodel/MultiValueField.html#setSelectionList%28org.apache.cocoon.forms.datatype.SelectionList%29>(SelectionList<http://cocoon.apache.org/2.1/apidocs/org/apache/cocoon/forms/datatype/SelectionList.html> selectionList) If you want to set the default selected values then you have to use the void setValues<http://cocoon.apache.org/2.1/apidocs/org/apache/cocoon/forms/formmodel/MultiValueField.html#setValues%28java.lang.Object[]%29>(Object<http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html>[] values) I am not sure if have a very simple example at hand. But if you still can't get things working programmatically... let me know. Robby