renderer 3 DropDownChoice

15 views
Skip to first unread message

twa...@gmail.com

unread,
Mar 30, 2013, 10:48:43 AM3/30/13
to wicke...@googlegroups.com
Bom dia. Estou tendo problema pra trabalhar com 3 DropDownChoice rendered.

Adjunto exemplo com error.

Obrigado.
Error Unexpected RuntimeException.docx
wicket aplicao 3 DropDownChoice.zip

Diego Rafael

unread,
Apr 2, 2013, 1:08:04 PM4/2/13
to wicke...@googlegroups.com
Qual o problema?


--
# Mensagem do grupo "Wicket em Português" do Google Groups.
* Para postar, envie e-mail para: wicke...@googlegroups.com
* Para cancelar inscrição, envie e-mail para wicket-ptbr...@googlegroups.com
* Mais opções, visite http://groups.google.com.br/group/wicket-ptbr?hl=pt-BR
---
You received this message because you are subscribed to the Google Groups "Wicket em Português" group.
To unsubscribe from this group and stop receiving emails from it, send an email to wicket-ptbr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
 
 

twasys twasys

unread,
Apr 2, 2013, 2:26:23 PM4/2/13
to wicke...@googlegroups.com
Ja resolvi  o problema. A modificacao esta em vermelho. O tercer combo na iniciacao ficava vazio.

Obrigado,


package com.myapp.wicket;

import java.util.List;
import org.apache.wicket.PageParameters;
import org.apache.wicket.markup.html.WebPage;
import org.apache.wicket.markup.html.form.ChoiceRenderer;
import org.apache.wicket.markup.html.form.DropDownChoice;
import org.apache.wicket.markup.html.form.Form;
import org.apache.wicket.markup.html.panel.FeedbackPanel;
import org.apache.wicket.model.LoadableDetachableModel;
import org.apache.wicket.model.PropertyModel;

public class HomePagePais extends WebPage {

    private Country country;
    private City city;
    private Town town;
    private String codigoCity;

    public HomePagePais(final PageParameters parameters) {
        country = Database.getCountries().get(0);
       


    
        add(new FeedbackPanel("feedback"));

        Form<?> form = new Form<Void>("form") {

            @Override
            protected void onSubmit() {
                info("Your favorite city is: " + city.getName() + " in " + country.getName()+" y barrio "+ town.getName());
            }
        };
        add(form);

        DropDownChoice<Country> countries = new DropDownChoice<Country>("countries",
                new PropertyModel<Country>(this, "country"), new CountriesModel(),
                new ChoiceRenderer<Country>("name", "code")) {

            @Override
            protected boolean wantOnSelectionChangedNotifications() {
                return true;
            }

            @Override
            protected void onSelectionChanged(Country newSelection) {
                city = null;
                town = null;
            }
        };
        countries.setRequired(true);
        form.add(countries);

        DropDownChoice<City> cities = new DropDownChoice<City>("cities", new PropertyModel<City>(
                this, "city"), new CitiesModel(), new ChoiceRenderer<City>("name", "code")) // NEW
        {

            @Override
            protected boolean wantOnSelectionChangedNotifications() {
             //   System.out.println("wanOnSelection de city :"+city.getCode());
                return true;
            }

            @Override
            protected void onSelectionChanged(City newSelection) {
             
                  //Modificacao
                codigoCity=city.getCode();

                town=null;
               
                
            }
        } // END NEW 
                ;


        cities.setRequired(true);
        form.add(cities);

//      NEW
 
        DropDownChoice<Town> towns = new DropDownChoice<Town>("towns", new PropertyModel<Town>(
                this, "town"), new BarriosModel(), new ChoiceRenderer<Town>("name", "code"));

        towns.setRequired(true);
        form.add(towns);

//     END NEW

    }

    private static class CountriesModel extends LoadableDetachableModel<List<? extends Country>> {

        @Override
        protected List<? extends Country> load() {

            return Database.getCountries();
        }
    }

    private class CitiesModel extends LoadableDetachableModel<List<? extends City>> {

        @Override
        protected List<? extends City> load() {
            return Database.getCities(country.getCode());
        }
    }

//      NEW 
    private class BarriosModel extends LoadableDetachableModel<List<? extends Town>> {

        @Override
        protected List<? extends Town> load() {
           
            return Database.getTowns(country.getCode(), codigoCity);

        }
    }
    //   END NEW
}


2013/4/2 Diego Rafael <diegora...@gmail.com>
You received this message because you are subscribed to a topic in the Google Groups "Wicket em Português" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/wicket-ptbr/sHLnA3N9zfw/unsubscribe?hl=und.
To unsubscribe from this group and all its topics, send an email to wicket-ptbr...@googlegroups.com.

For more options, visit https://groups.google.com/groups/opt_out.
 
 



--
Bart
Reply all
Reply to author
Forward
0 new messages