Hi, First, thanks to all who have been helping me as I am new to Wicket. I am splitting out two issues I am dealing with to try to keep things clear.
I am trying to write a simple app that does CRUD operations on database records. The goal is for the app to make use of a tab panel where each tab encapsulates one table from the database. Each tab panel has two groups (WebMarkupContainer). The first, selectGroup, displays a list (DDC) of the current items, and three buttons, add, edit and delete. The second, editGroup, is displayed when either the add or edit button was clicked on the select group, displays the record attributes and save and cancel buttons. The tab panel has a "selectedRecord" which is used by both groups' components via PropertyModels. Very basic stuff. When I choose a record and click the edit button, the record is displayed in the edit group properly. If I then choose cancel, the edit group is no longer displayed and the select group DDC selection is null as expected. I then choose another record from the list and click the edit button and the previous record information is displayed in the edit group even though the select group DDC shows the correct/selected record. This problem also occurs if I first choose to add a new record and then cancel the add and then choose to edit a different record. The DDC shows the correct/selected record, but all the attributes in the edit group are null/defaults for a new record. If I remove the call to setDefaultFormProcessing(false) on the cancel button, selecting other records for edit works correctly, but I can't cancel a creating a new record if I use a RequiredTextField because the form validation fails. If I select a record for editing or save the newly created record, I can select a different record for edit or create another one correctly. So I must be doing something wrong in the cancel logic. My editForm (created in the EditGroup constructor) looks like this: Form editForm = new Form("editForm"); editForm.add(new Label("nameLabel", "Name")); editForm.add(new Label("attributeLabel", "Attribute")); editForm.add(new RequiredTextField<String>("recordNameText", new PropertyModel<String>(MyRecordPanel.this, "selectedRecord.name"))); editForm.add(new DropDownChoice<Lir>("attributes", new PropertyModel<Attribute>(MyRecordPanel.this, "selectedRecord.attribute"), RateCentrePanel.this.getAttributes(), new AttributeRenderer())); .... editForm.add(new Button("cancel") { private static final long serialVersionUID = 1L; public void onSubmit() { MyRecordPanel.this.selectedRecord = null; editGroup.setVisible(false); selectGroup.setVisible(true); } }.setDefaultFormProcessing(false)); add(editForm); Other than setting the selectedRecord to null, what should I be doing differently? Thanks in advance! Shelli --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org