But now, I have another problem...
I need to pass the repeater to the form, so I wrote:

var repeater = form.getChild("test"); 
        for (var i = 0; i < comp_in_composition.size(); i++) {
                var row = repeater.addRow(i); 
                
row.getChild("type").setValue(comp_in_composition.get(i).get("type"));
                
row.getChild("amount").setValue(comp_in_composition.get(i).get("amount"));
                row.getChild("select").setValue(false);
        }

        formMap.put("test", repeater);

"test" - is the id of the repeater in fd:repeater

But, I've got mistake: java.lang.IllegalArgumentException: A repeater cannot
be filled with Repeater 'test'

How to pass it to the form??? 


Magsend wrote:
> 
> I've already answer my own question:
> Here is my code:
> 
> for (var i = 0; i < comp_in_composition.size(); i++) {
>               var row = repeater.addRow(i); 
>               
> row.getChild("type").setValue(comp_in_composition.get(i).get("type"));
>       
> row.getChild("amount").setValue(comp_in_composition.get(i).get("amount"));
>               row.getChild("select").setValue(false);
>       }
> 
> 
> 
> Magsend wrote:
>> 
>> I'm using FOR to pass the params to the repeater:
>> 
>> for (var i = 0; i < comp_in_composition.size(); i++) {
>>     var row = repeater.addRow(i); 
>>     .........
>> }
>> 
>> How to create child nodes for the "row" element?
>> 
>> I found addWidget() procedure in API, but it doesn't work:  
>> For example: row.addWidget("type");
>> 
>> 
>> 
>> 
>> Ralph Rauscher-2 wrote:
>>> 
>>> Use
>>> 
>>> var row = repeater.addRow();
>>> 
>>> instead of
>>> 
>>> var row = repeater.getRow(i);
>>> 
>>> 
>>> Мария Григорьева wrote:
>>>>
>>>> I'm trying to pass the parameters from the database to the repeater in
>>>> the form.
>>>>
>>>>  
>>>>
>>>> var repeater=form.getChild("test");
>>>>
>>>>                 for (var i = 0; i < comp_in_composition.size(); i++) {
>>>>
>>>>                                var row = repeater.getRow(i);
>>>>
>>>>                                var type = row.getChild("type");
>>>>
>>>>                                var amount = row.getChild("amount");
>>>>
>>>>                                var select = row.getChild("select");
>>>>
>>>>                               
>>>> type.setValue(comp_in_composition.get(i).get("type"));
>>>>
>>>>                               
>>>> amount.setValue(comp_in_composition.get(i).get("amount"));
>>>>
>>>>                                select.setValue(false);
>>>>
>>>>                 }
>>>>
>>>>  
>>>>
>>>> But, I've got an exception:  java.lang.IndexOutOfBoundsException:
>>>> Index: 1, Size: 1
>>>>
>>>>  
>>>>
>>>> What's the problem? How to pass this params to the form repeater?
>>>>
>>> 
>>> 
>>> 
>>> 
>> 
>> 
> 
> 

-- 
View this message in context: 
http://www.nabble.com/pass-repeater-from-database-to-the-form-tp18778753p18781834.html
Sent from the Cocoon - Users mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to