Thansk very much, love this forum! got a reply so prompt!


Andrew Klochkov wrote:
> 
> raybristol wrote:
>> My WizardPage is like
>>
>> public class AddDeliveryWizardPage extends AbstractExamplePage{
>>      
>>      public AddDeliveryWizardPage(){
>>              
>>              super();
>>
>>              WizardModel model = new WizardModel();
>>                           int numberOfBoxes = 0;
>>                           List<Box> boxesList = new ArrayList<Box>();
>>
>>                           //variable 'numberOfBoxes' will be set in this
>> step
>>              model.add(new SetNumberOfBoxesWizardStep());
>>      
>>                           //set box entity objects according to variable
>> 'numberOfBoxes' set from last step
>>              model.add(new SetBoxEntityWizardStep(int numberOfBoxes));
>>              
>>              Wizard wizard = new Wizard("wizard", model)
>>              this.add(wizard);
>>      }
>>
>> }
>>
>> question 1: as model step is added at compile time, so I don't know how
>> to
>> get the value of variable 'numberOfBoxes' after it got set from the 1st
>> step, in the 2nd step 'numberOfBoxes''s value is default value 0.
>>   
> You should make numberOfBoxes variable accessible in both the steps. One 
> way to do it:
> 
> public class AddDeliveryWizardPage extends AbstractExamplePage{
>       
>       private int numberOfBoxes;
>         private final List<Box> boxesList = new ArrayList<Box>();
> 
>       public AddDeliveryWizardPage(){
>               
>               super();
> 
>               IModel boxesAmountModel = new PropertyModel(this, 
> "numberOfBoxes");
>               WizardModel model = new WizardModel();
> 
>               //variable 'numberOfBoxes' will be set in this step
>               model.add(new SetNumberOfBoxesWizardStep(boxesAmountModel) {
>                       public void applyState() {
>                               for (int i = 0; i < numberOfBoxes; i++)
>                                       boxesList.add(new Box());
>                       }
>               });
>       
>               //set box entity objects according to variable 'numberOfBoxes' 
> set from
> last step
>               model.add(new SetBoxEntityWizardStep(boxesAmountModel, 
> boxesList));
>               
>               Wizard wizard = new Wizard("wizard", model)
>               this.add(wizard);
>       }
> 
> }
> 
>> question 2: in the 2nd step I probably need user to input multiple box
>> object's details, for a single model, I can use somthign like
>> setModel(new
>> CompoundPropertyModel(box)), but what about for multiple objects? is it
>> something like setModel(new CompoundPropertyModel(boxeslist))  <-
>> boxeslist
>> is a arraylist of box objects.
>>   
> Notice that I added a "boxesList" parameter for the second step in the 
> code above. So then in the SexBoxEntityWizardStep you could use some 
> repeater to generate html inputs for every box. For example here is a 
> ListView example:
> 
> add(new ListView("boxes", boxesList) {
>     protected void populateItem(final ListItem item) {
>         item.add(new TextField("name", new 
> PropertyModel(item.getModelObject(), "name"));
>     }
> });
>>
>> Many thanks for your guys help, this is the best forum I can find for
>> wicket
>> :)
>>
>>   
> +1 :)
> 
> 
> -- 
> Andrew Klochkov
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 
> 
> 

-- 
View this message in context: 
http://www.nabble.com/hi-questions-about-Wizard-again%2C-thanks%21-tf4521282.html#a12899730
Sent from the Wicket - User mailing list archive at Nabble.com.


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

Reply via email to