Hmm, it's almost 2.1.0, it's 2.1.0-RC1-incubating, I guess it'll be a
good idea to upgrade at least to 2.1.0.
You're right, if I add the "tab"-FieldSet to the form before adding more
FieldSets it works.
Thanks a lot!
Sven
Bob Schellink wrote:
On 26/07/2010 23:31, Sven Pfeiffer wrote:
Maybe the Stacktrace will help:
java.lang.IllegalArgumentException: Cannot set the FieldSet's form to null
at org.apache.click.control.FieldSet.setForm(FieldSet.java:596)
at org.apache.click.control.FieldSet.insert(FieldSet.java:205)
at org.apache.click.control.FieldSet.add(FieldSet.java:243)
at org.apache.click.control.FieldSet.add(FieldSet.java:263)
Are you sure you are using 2.1.0 and not 2.0.1? I just checked the source code
for 2.0.1 [1] and it
contains the exception you are referring to. But this isn't present in 2.1.0
[2]. In 2.1.0 the
parent Form is looked up dynamically if it is null.
Anyway, I think the problem is that dataSet is added to protFS before protFS
parent form is set.
You can fix it by adding the protFS to the form first:
form.addTabSheet(protFS);
protFS.add(dataSet);
Kind regards
Bob
[1]:
http://svn.apache.org/viewvc/click/tags/click-2.0.1/framework/src/org/apache/click/control/FieldSet.java?view=markup
[2]:
http://svn.apache.org/viewvc/click/tags/click-2.1.0/framework/src/org/apache/click/control/FieldSet.java?view=markup
Bob Schellink wrote:
Hi Sven,
On 26/07/2010 22:27, Sven Pfeiffer wrote:
I'd like to add a FieldSet to tab in a TabbedForm, my code looks like
this:
TabbedForm form = new TabbedForm("form");
FieldSet protFS = new FieldSet("protocol");
FieldSet dataSet = new FieldSet("data");
... adding fields to dataSet
protFS.add(dataSet); // this crashes
form.addTabSheet(protFS);
The line protFS.add(dataSet) crashes with the following Exception:
java.lang.IllegalArgumentException: Cannot set the FieldSet's form to
null
In your example above you are adding one FieldSet to another FieldSet,
not the TabbedForm.
Regardless it sounds as if dataSet has already been added to another
parent? Are you using
Autobinding or a Stateful page perhaps?
I also tried setting the form manually:
dataSet.setForm(form);
Currently I am using click 2.1.0
Is there any way to add a FieldSet to a tab?
TabbedForm is basically a Form with a number of FieldSets that are
rendered as Tabs. But it looks
like you want to add a FieldSet to another FieldSet? It should work
though.
Kind regards
Bob