This is a migrated thread and some comments may be shown as answers.

RadCalendar set date range based on start date selected

3 Answers 266 Views
Calendar
This is a migrated thread and some comments may be shown as answers.
pmourfield
Top achievements
Rank 1
pmourfield asked on 02 Sep 2011, 01:36 PM
Good morning everyone! Here is what I am trying to accomplish. I have two datepickers within a radgrid,  one is a start date and the other an end date. What I need is when the user clicks a date within start date is for the end date to automatically be populated with the date five days later. For example, if the user clicks the start date 9/1/2011, then the end date should automatically be set to 9/4/2011. Is there a setting within the raddatepicker or radcalendar that will do this or will I need to use javascript? Thank you in advance for your help!

3 Answers, 1 is accepted

Sort by
0
Shinu
Top achievements
Rank 2
answered on 02 Sep 2011, 02:08 PM
Hello Joshua,

Try the following scenario to set date range based on first RadDatePicker selected.
aspx:
<telerik:RadDatePicker ID="RadDatePicker1" runat="server">
            <ClientEvents OnDateSelected="OnDateSelected" />
</telerik:RadDatePicker>
<telerik:RadDatePicker ID="RadDatePicker2" runat="server">
</telerik:RadDatePicker>
JS:
<script type="text/javascript">
function OnDateSelected(sender, args)
 {
   var dt = sender.get_selectedDate();
   var myDate = new Date(sender.get_selectedDate().format("MM/dd/yyyy"));
   myDate.setDate(myDate.getDate() + 4);
   var datepicker = $find("<%= RadDatePicker2.ClientID %>");
   datepicker.set_selectedDate(myDate);
 }
</script>

Thanks,
Shinu.
0
pmourfield
Top achievements
Rank 1
answered on 02 Sep 2011, 02:17 PM
Shinu,

Thank you very much for your reply. While I believe this code will work, my datepickers are inside a radgrid edititemtemplate and the code is failing. I have tried a few different methods of finding the control but to no avail. Any ideas? Thank you again!
0
pmourfield
Top achievements
Rank 1
answered on 02 Sep 2011, 03:33 PM
I was able to figure out a code-behind solution to this problem. In the properties of the begin date raddatepicker I set AutoPostBack = true. My codebehind is thus:

protected void beginDatePicker_SelectedDateChanged(object sender, Telerik.Web.UI.Calendar.SelectedDateChangedEventArgs e)
    {      
        RadDatePicker beginDatePicker = (RadDatePicker)sender;
 
        GridEditFormItem editItem = (GridEditFormItem)beginDatePicker.NamingContainer;
                 
        RadDatePicker endDatePicker = (RadDatePicker)editItem.FindControl("endDatePicker");
        endDatePicker.DbSelectedDate = (e.NewDate.Value.AddDays(4));
    }
Tags
Calendar
Asked by
pmourfield
Top achievements
Rank 1
Answers by
Shinu
Top achievements
Rank 2
pmourfield
Top achievements
Rank 1
Share this question
or