Try replacing the Model's object instead of the actual Model.
private EditFormModel editFormModel = new
CompoundPropertyModel<Functionsbereich>(el);
replace
//f.setModel(new CompoundPropertyModel<Functionsbereich>(el));
editFormModel.setObject(el);
On 16 Dec 2009, at 6:27 AM, Martin U wrote:
Iam totally confused.
Iam using the Todo-List-Example from here :
http://www.wicket-library.com/wicket-examples/ajax/todo-list.0
to play around with wicket.
This example works, but i want to display a list of Entities from the
Backend and edit one of them with my "new-entity"-Form.
So i want to click on "edit" in a row and want to use the *same*
*form *as i
use to add a entity. How could i handle this?
I tried sooo much but nothing works right.
The "addForm" (showForm(target)) function works right. But in public
void
showForm(AjaxRequestTarget _t, Functionsbereich el)
i deliver "el" which is my POJO and i cant figure out how to treat
the Form
to use now my new "Model"...
I tried with modelChange() und mondelChanging() but nothing works
=( allways
the "empty Form" is shown ;(
Thanks a lot for any help!!
private final class FormContainer extends WebMarkupContainer{
private EditForm f;
public FormContainer(String id) {
super(id);
setOutputMarkupId(true);
add(f = (EditForm) new EditForm("form").setVisible(false));
add(new AjaxFallbackLink<Object>("link"){
@Override
public void onClick(AjaxRequestTarget target) {
showForm(target);
}
});
}
public void showForm(AjaxRequestTarget _t){
f.setVisible(true);
_t.addComponent(this);
}
/** Shows form with entity **/
public void showForm(AjaxRequestTarget _t, Functionsbereich
el){
// add(f = new EditForm("link", el));
f.modelChanging();
f.setModel(new
CompoundPropertyModel<Functionsbereich>(el));
f.modelChanged();
f.setVisible(true);
_t.addComponent(this);
}
}
private final class EditForm extends Form<Functionsbereich>{
public EditForm(String id){
this(id, new CompoundPropertyModel<Functionsbereich>(new
Functionsbereich()));
}
public EditForm(String id, Functionsbereich _el){
super(id,new
CompoundPropertyModel<Functionsbereich>(_el) );
}
public EditForm(String id,
CompoundPropertyModel<Functionsbereich>
_model) {
super(id, _model);
setOutputMarkupId(true);
add( new TextField<Object>("form_text",
_model.bind("label")));
//add(new Label("vendor", _model.bind("vendor.name")));
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org