It's probably a good idea to set defaultFormProcessing to false on the
cancel button in case you didn't (which I expect as values seem to get
updated?).
Also, can you try calling clearInput on form and see if that does the
trick for you?
Eelco
On 6/5/07, Harald Gruber <[EMAIL PROTECTED]> wrote:
>
> hi all,
>
> i got some sort of crud page consisting of a listview and a detailview for my
> objects. depending on a stateflag either the listview is shown or the
> detailview.
> the detailview contains an addresspanel (textfields for my properties, which
> use
> propertymodels to get the fieldvalues).
>
> in my crudpage i got two methods for changing to editing state and cycling
> back
> to listview:
>
> @Override
> public void onEditAction(User selected) {
> User object = userDao.load(selected.getId());
> addressPanel.detachModels();
> setModelObject(object);
> }
>
> @Override
> public void onCancelAction() {
> setModelObject(null);
> }
>
> the addresspanel is created in the constructor of my crudpage with the model
> of
> the page:
>
>
> public UserPage() {
> super(20, CrudPanel.ACTION_ALL);
> setModel(new CompoundPropertyModel(new User()));
>
> addTextField("username", "labelUsername", "Label.Username");
>
> PasswordTextField tf = new PasswordTextField("password");
> tf.setLabel(new ResourceModel("Label.Password"));
> tf.setRequired(false);
> tf.setResetPassword(false);
> detailsForm.add(tf);
> detailsForm.add(new SimpleFormComponentLabel("labelPassword",
> tf));
>
>
> addressPanel = new AddressPanel("addressPanel", "address.",
> getModel());
> detailsForm.add(addressPanel);
>
> }
>
> the problem is:
> for the first time i swith to editing mode for a user, all fields are
> populated
> like they should. if i cycle back by cancelling and choose another user for
> editing, the textfields in the addresspanel still contain old values.
> i found out, that the textfields call their getObject() method just only once
> and not each time i switch from list to edit mode.
>
> is there a way to inform my addresspanel to refresh its childs?
>
> ty in advance,
> harald
>
>
>
> ----addresspanel----
>
> public class AddressPanel extends Panel {
> private static final long serialVersionUID = 1L;
>
> private String propertyPrefix = "";
>
> public AddressPanel(String id, String propertyPrefix, Address
> address) {
> this(id, propertyPrefix, new Model(address));
> }
>
> public AddressPanel(String id, String propertyPrefix, IModel model) {
> super(id, model);
> if (null != propertyPrefix)
> this.propertyPrefix = propertyPrefix;
> addTextField("company", "labelCompany", "Label.Company");
> ...
> }
>
> private TextField addTextField(String name, String labelName, String
> labelKey) {
> TextField tf = new TextField(name, new
> PropertyModel(getModel(),
> this.propertyPrefix + name) {
> public Object getObject() {
> Object o = super.getObject();
> System.out.println("OBJ " + o);
> return o;
> }
> });
> tf.setLabel(new ResourceModel(labelKey));
> add(tf);
> add(new SimpleFormComponentLabel(labelName, tf));
> return tf;
> }
>
>
>
> -------------------------------------------------------------------------
> This SF.net email is sponsored by DB2 Express
> Download DB2 Express C - the FREE version of DB2 express and take
> control of your XML. No limits. Just data. Click to get it now.
> http://sourceforge.net/powerbar/db2/
> _______________________________________________
> Wicket-user mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/wicket-user
>
-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Wicket-user mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/wicket-user