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

Controls and events on Radgrid pop up edit form

2 Answers 114 Views
Grid
This is a migrated thread and some comments may be shown as answers.
Sean
Top achievements
Rank 1
Sean asked on 16 Apr 2014, 06:16 PM
Hi. I have a rad grid with a number of columns, including two date columns. I am using an auto generated pop up form for editing data. On the edit form I would like to make it so that when the user sets a date in the first date field, if the second field is blank the value of the second field is set to one year after the date in the first field. I have tried to add client side and server side code to achieve this but am having no luck getting the right combination of event handlers and control references. Any help would be really appreciated.

2 Answers, 1 is accepted

Sort by
0
Accepted
Princy
Top achievements
Rank 2
answered on 17 Apr 2014, 05:58 AM
Hi Sean,

Please try the following code snippet to set the date field in editform.

ASPX:
<telerik:GridDateTimeColumn DataField="Orderdate" UniqueName="Orderdate" HeaderText="OrderDate">
</telerik:GridDateTimeColumn>
<telerik:GridDateTimeColumn DataField="RequiredDate" UniqueName="RequiredDate" HeaderText="RequiredDate">
</telerik:GridDateTimeColumn>

C#:
protected void RadGrid1_ItemCreated(object sender, GridItemEventArgs e)
{
  if (e.Item is GridEditableItem && e.Item.IsInEditMode)
  {
    GridEditableItem editItem = (GridEditableItem)e.Item;
    RadDatePicker orderdate = (RadDatePicker)editItem["Orderdate"].Controls[0];
    orderdate.AutoPostBack = true;
    orderdate.SelectedDateChanged += new Telerik.Web.UI.Calendar.SelectedDateChangedEventHandler(orderdate_SelectedDateChanged);
  }
}
 
void orderdate_SelectedDateChanged(object sender, Telerik.Web.UI.Calendar.SelectedDateChangedEventArgs e)
{
  RadDatePicker orderDate = sender as RadDatePicker;
  GridEditableItem editItem = orderDate.NamingContainer as GridEditableItem;
  RadDatePicker requiredDate = editItem["RequiredDate"].Controls[0] as RadDatePicker;
  if (requiredDate.SelectedDate == null)
  {
    string orderDateValue= orderDate.SelectedDate.ToString();
    DateTime newOrderDate= Convert.ToDateTime(orderDateValue);
    DateTime newDate = newOrderDate.AddYears(1);// add one year
    requiredDate.SelectedDate = newDate;// set to the second RadDatePicker
  }
}

Thanks,
Princy
0
Sean
Top achievements
Rank 1
answered on 25 Apr 2014, 11:13 AM
Thanks Princy - I'm a VB programmer so I had to convert the code but you gave me all the elements I needed to get it working.
Tags
Grid
Asked by
Sean
Top achievements
Rank 1
Answers by
Princy
Top achievements
Rank 2
Sean
Top achievements
Rank 1
Share this question
or