Thank you that did work. I don't know why you have to do modelChanged() on this 
component exclusively  while other component like the minute drop down didn't 
need it. form.modelchanged() did the refresh on those component. Anyways my 
problem is solved thank you very much

> From: igor.vaynb...@gmail.com
> Date: Thu, 12 Nov 2009 13:19:17 -0800
> Subject: Re: Datepicker model change problem
> To: users@wicket.apache.org
> 
> you need to either call modelchanged() or clearinput() on the ddcs
> 
> -igor
> 
> On Thu, Nov 12, 2009 at 12:57 PM, wicketnewuser <swarn...@hotmail.com> wrote:
> >
> > Hi Anyone has any idea about this
> >
> > wicketnewuser wrote:
> >>
> >>
> >> I have a page with date picker that picks the date, DropdownChoice for
> >> hour and minute. When I click "today" button I change the model in
> >> onsubmit method. It is suppose to change the form value in datepicker,
> >> hour and minute to today/now.This changes hour and minute but doesn't
> >> change the value in the
> >> datepicker. Is there something that I need to do to make this work. Here
> >> is the partial code
> >>
> >>
> >>       public void onSubmit() {
> >>
> >>             Calendar startDate = Calendar.getInstance();
> >>
> >>
> >>
> >>             // initialize end date
> >>
> >>             Calendar endDate = Calendar.getInstance();
> >>
> >>
> >>
> >>             model.getObject().setStartDate(startDate);
> >>
> >>             model.getObject().setEndDate(endDate);
> >>
> >>             getForm().modelChanged();
> >>
> >>             super.onSubmit();
> >>
> >>         }
> >>
> >> Here is the whole code.
> >>
> >> public final class DateTimeSelectionModel implements IClusterable {
> >>
> >>     private Calendar startDate;
> >>     private Calendar endDate;
> >>
> >>     public DateTimeSelectionModel() {
> >>
> >>         // initialize start date
> >>         startDate = Calendar.getInstance();
> >>         startDate.add(Calendar.DATE, -5);
> >>         startDate.set(Calendar.HOUR_OF_DAY, 0);
> >>         startDate.set(Calendar.MINUTE, 0);
> >>         startDate.set(Calendar.SECOND, 0);
> >>
> >>         // initialize end date
> >>         endDate = Calendar.getInstance();
> >>         endDate.add(Calendar.DATE, -5);
> >>         endDate.set(Calendar.HOUR_OF_DAY, 23);
> >>         endDate.set(Calendar.MINUTE, 59);
> >>         endDate.set(Calendar.SECOND, 59);
> >>
> >>         System.out.println("hello");
> >>     }
> >>
> >>     public void setStartDate(Calendar startDate) {
> >>         this.startDate = startDate;
> >>     }
> >>
> >>     public void setEndDate(Calendar endDate) {
> >>         this.endDate = endDate;
> >>     }
> >>
> >>     // this method is called to get the default for the form.
> >>     public Date getStartDate() {
> >>         return startDate.getTime();
> >>     }
> >>     public void setStartDate(Date date) {
> >>         //we want to set only year month and day here not the whole date
> >>         Calendar cal = Calendar.getInstance();
> >>         cal.setTime(date);
> >>         this.startDate.set(cal.get(Calendar.YEAR),
> >> cal.get(Calendar.MONTH), cal.get(Calendar.DAY_OF_MONTH));
> >>     }
> >>
> >>     public SelectOption getStartHour() {
> >>         SelectOption option = new SelectOption("Unknown", new String("" +
> >> startDate.get(Calendar.HOUR_OF_DAY)));
> >>         return option;
> >>     }
> >>     public void setStartHour(SelectOption hour) {
> >>         startDate.set(Calendar.HOUR_OF_DAY,
> >> Integer.valueOf(hour.getValue()));
> >>     }
> >>
> >>     public void setStartMinute(String minute) {
> >>         startDate.set(Calendar.MINUTE, Integer.valueOf(minute));
> >>     }
> >>     public void setStartMinute(int minute) {
> >>         startDate.set(Calendar.MINUTE, minute);
> >>     }
> >>     public int getStartMinute() {
> >>         return startDate.get(Calendar.MINUTE);
> >>     }
> >>
> >>
> >>     public Date getEndDate() {
> >>         return endDate.getTime();
> >>     }
> >>     public void setEndDate(Date date) {
> >>         //we want to set only year month and day here not the whole date
> >>         Calendar cal = Calendar.getInstance();
> >>         cal.setTime(date);
> >>         this.endDate.set(cal.get(Calendar.YEAR), cal.get(Calendar.MONTH),
> >> cal.get(Calendar.DAY_OF_MONTH));
> >>     }
> >>
> >>     public SelectOption getEndHour() {
> >>         SelectOption option = new SelectOption("Unknown", new String("" +
> >> endDate.get(Calendar.HOUR_OF_DAY)));
> >>         return option;
> >>     }
> >>     public void setEndHour(SelectOption hour) {
> >>         endDate.set(Calendar.HOUR_OF_DAY,
> >> Integer.valueOf(hour.getValue()));
> >>     }
> >>
> >>     public void setEndMinute(String minute) {
> >>         endDate.set(Calendar.MINUTE, Integer.valueOf(minute));
> >>     }
> >>     public void setEndMinute(int minute) {
> >>         endDate.set(Calendar.MINUTE, minute);
> >>     }
> >>     public int getEndMinute() {
> >>         return endDate.get(Calendar.MINUTE);
> >>     }
> >>
> >>
> >>
> >> }
> >>
> >>
> >> public class DateTimeSelectionForm extends Form {
> >>
> >>     public DateTimeSelectionForm(String id, final
> >> IModel<DateTimeSelectionModel> model) {
> >>         //super(id);
> >>         super(id, model);
> >>
> >>         final DateTextField dateStartField = new
> >> DateTextField("startDate",new PropertyModel<Date>(model, "startDate"), new
> >> PatternDateConverter("MM-dd-yyyy",true)) ;
> >>         add(dateStartField);
> >>         dateStartField.add(new DatePicker());
> >>
> >>         // Start Hour
> >>         DropDownChoice<SelectOption> startHourChoice = new
> >> DropDownChoice<SelectOption>("startHour", getHourChoices(), new
> >> ChoiceRenderer<SelectOption>("label", "value"));
> >>         startHourChoice.setNullValid(false);
> >>         add(startHourChoice);
> >>
> >>         DropDownChoice<Integer> startMinuteChoice = new
> >> DropDownChoice<Integer>("startMinute" , getMinuteChoices());
> >>         startMinuteChoice.setNullValid(false);
> >>         add(startMinuteChoice);
> >>
> >>         DateTextField dateEndField = new DateTextField("endDate", new
> >> PropertyModel<Date>(model, "endDate"), new
> >> PatternDateConverter("MM-dd-yyyy", true)) ;
> >>         add(dateEndField);
> >>         dateEndField.add(new DatePicker());
> >>
> >>         DropDownChoice<SelectOption> endHourChoice = new
> >> DropDownChoice<SelectOption>("endHour", getHourChoices(), new
> >> ChoiceRenderer<SelectOption>("label", "value"));
> >>         endHourChoice.setNullValid(false);
> >>         add(endHourChoice);
> >>
> >>         DropDownChoice<Integer> endMinuteChoice = new
> >> DropDownChoice<Integer>("endMinute", getMinuteChoices());
> >>         endMinuteChoice.setNullValid(false);
> >>         add(endMinuteChoice);
> >>         Button todayButton = new Button("today"){
> >>         @Override
> >>         public void onSubmit() {
> >>             Calendar startDate = Calendar.getInstance();
> >>
> >>             // initialize end date
> >>             Calendar endDate = Calendar.getInstance();
> >>
> >>             model.getObject().setStartDate(startDate);
> >>             model.getObject().setEndDate(endDate);
> >>             getForm().modelChanged();
> >>             super.onSubmit();
> >>         }
> >>
> >>         };
> >>         todayButton.setDefaultFormProcessing(false);
> >>     Send
> >>         add(todayButton);
> >>         // submit button
> >>         Button submitButton = new Button("submitButton");
> >>         add(submitButton);
> >>
> >>         // NOTE: the reset button is all on the client side, so wicket
> >> doesn't need to see it.
> >>
> >>     }
> >> thank you
> >>
> >>
> >
> > --
> > View this message in context: 
> > http://old.nabble.com/Datepicker-model-change-problem-tp26312074p26326280.html
> > Sent from the Wicket - User mailing list archive at Nabble.com.
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
> > For additional commands, e-mail: users-h...@wicket.apache.org
> >
> >
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
> For additional commands, e-mail: users-h...@wicket.apache.org
> 
                                          

Reply via email to