Am Sonntag, 20. April 2008 18:19:33 schrieb i ii:
> is example available for multiple DropDownChoice where one menu changes
> value in other? i look at http://wicketstuff.org/wicket13/ but see no
> example
You could do this in your model. Both ddcs could point to same business model. 
If a selection changes the model could switch the other attribute. After you 
reloaded the ddcs - the value should be updated.

MyModel extends MyBusinessModel {
  List<?> values1 = null;
  Object selectedValue1 = null;
  List<?> values2 = null;
  Object selectedValue2 = null;

  List<?> getValues1() {return values1;}
  MyModel setValues1(List<?> a) {values1=a;}
  Object getSelectedValue1() { return selectedValue1;}
  MyModel setSelectedValue1(Object a) { 
    selectedValue1 = a;
    if (a.equals(aObject)) {
      setSelectedValue2(getValues2().get(0));
    }
  }

  List<?> getValues2() {return values2;}
  MyModel setValues2(List<?> a) {values2=a;}
  Object getSelectedValue2() { return selectedValue2;}
  MyModel setSelectedValue2(Object a) { 
    selectedValue2 = a;
    if (a.equals(aObject)) {
      setSelectedValue1(getValues1().get(0));
    }
  }
}

MyPanel extends Panel {
  MyPanel(String id, IModel m) {
    super(id, m);
    Form f = new Form("theForm");
    add(f);
    f.add(new DDC("val1", 
                          new PropertyModel(m, "selectedValue1"), 
                          new PropertyModel(m, "values1");
    f.add(new DDC("val2", 
                          new PropertyModel(m, "selectedValue2"), 
                          new PropertyModel(m, "values2");
    // ... ajax update behavior - examples in wiki
  }
}

MyPage extends WebPage {
  MyPage() {
    MyModel m = createMyModelWithSomeValues();
    CompoundPropertyModel c = new CompoundPropertyModel(m);
    add(new MyPanel("myPanel", c);
  }
}

Something like that.
HTH
Per

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

Reply via email to