Hi Bob,

thanks for the hint. Yes, in my real code the names of Table and PickList controls were identical (I don't use stateful pages). When I fix that, it works.

Thanks and best regards

Axel

On 20.12.2010 13:29, Bob Schellink wrote:
Hi Axel,

While I wouldn't put a table inside a FieldSet or Form for that matter it 
should render.

For some reason the Control is replaced which throws an error. Are you using 
stateful pages or have
controls with the same name? In 2.3.0-M1 the replace method have deprecated 
along with stateful
pages, so hopefully we can get rid of the replace method in a future release 
and throw better error
messages.

Kind regards

Bob

On 20/12/2010 22:16, Axel Morgner wrote:
Hello,

when adding first a Table and then a PickList to a FieldSet (using 2.3.0-M1) 
I'm getting a

java.lang.ArrayIndexOutOfBoundsException: -1
     at java.util.ArrayList.elementData(ArrayList.java:338)
     at java.util.ArrayList.set(ArrayList.java:366)
     at org.apache.click.control.FieldSet.replace(FieldSet.java:276)
     at org.apache.click.control.FieldSet.insert(FieldSet.java:213)
     at org.apache.click.control.FieldSet.add(FieldSet.java:328)
     at org.apache.click.control.FieldSet.add(FieldSet.java:352)

Adding the PickList first and then the Table doesn't throw an exception, but 
then the PickList will
not be rendered.

Code is similar to this (of course, in the real code the controls a populated 
with DataProvider etc.):

public class Test extends Page {

     protected Table testTable = new Table("Test Table");
     protected PickList testPickList = new PickList("Test Pick List);

     public Test() {

         super();

         FieldSet fields = new FieldSet("test");
         testTable.setClass(Table.CLASS_SIMPLE);
         testTable.addColumn(new Column("Test Column"));
         fields.add(testTable);
         fields.add(testPickList);

     [...]

     }

[...]

}

Maybe its not supported?

I can work around this, so just a minor issue here.

Axel

Reply via email to