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

set the date of raddatepicker on radnumerictextbox clientevents_onvaluechanged

2 Answers 141 Views
Grid
This is a migrated thread and some comments may be shown as answers.
Chinna
Top achievements
Rank 1
Chinna asked on 16 Mar 2011, 07:08 PM
hi,
trying to set the date of raddatepicker on radnumerictextbox clientevents_onvaluechanged. but it is not working..

aspx:

<

 

telerik:GridTemplateColumn HeaderText="Months To Recall" UniqueName="MonthsCol" HeaderStyle-HorizontalAlign="Center" ItemStyle-HorizontalAlign="Center">

 

 

<ItemTemplate>

 

 

<asp:Label ID = "MonthsTxt" runat = "server"></asp:Label>

 

 

</ItemTemplate>

 

 

<EditItemTemplate>

 

 

<telerik:RadNumericTextBox ID = "MonthsEditTxt" runat = "server" ClientEvents-OnValueChanged = "MonthsTextChanged">

 

 

<NumberFormat DecimalDigits="0"/>

 

 

</telerik:RadNumericTextBox>

 

<%

--<telerik:RadTextBox ID = "MonthsEditTxt" runat = "server"></telerik:RadTextBox>--%>

 

 

 

</EditItemTemplate>

 

 

</telerik:GridTemplateColumn>

 

 

<telerik:GridTemplateColumn UniqueName="NextRecallCol" HeaderStyle-HorizontalAlign="Center"

 

 

HeaderText="Next Recall" ItemStyle-HorizontalAlign="Center">

 

 

<ItemTemplate>

 

 

<asp:Label ID = "NextRecall" runat = "server" Width = "150px" Text = '<%#DataBinder.Eval(Container.DataItem, "RecallDate")%>'></asp:Label>

 

 

<%

-- <telerik:RadTextBox ID = "NextRecallbox" runat = "server" Text = '<%#DataBinder.Eval(Container.DataItem, "RecallDate")%>' Width = "160px"></telerik:RadTextBox>--%>

 

 

 

</ItemTemplate>

 

 

<EditItemTemplate>

 

 

<telerik:RadDatePicker ID="NextRecallEdit" runat="server" Width="140px" AutoPostBack="true" MinDate="2006/1/1"

 

 

DateInput-EmptyMessage="NextRecallDate" DbSelectedDate='<%# Bind("RecallDate") %>' Calendar-ClientEvents-OnDateSelected = "RecallDateChange">

 

 

 

</telerik:RadDatePicker>

 

<%

--<telerik:RadTextBox ID= "NextRecallEditBox" runat="server"></telerik:RadTextBox>--%>

 

 

 

</EditItemTemplate>

 

 

</telerik:GridTemplateColumn>

 



JAVASCRIPT:

 

<script type="text/javascript">

 

 

 

function MonthsTextChanged(sender, eventArgs)

 

 

{

 

<%

for(int index = 0; index < MonthLabelClientIDList.Count; index++)

 

 

{

 

string monthLblClientID = MonthLabelClientIDList[index];

 

string NextRecallClientID = NextRecllClientIDList[index];

 

 

 

%>

 

 

var months = $find("<%=monthLblClientID %>");

 

 

 

var nextrecall = $find("<%=NextRecallClientID %>");

 

 

 

var todaysDate = new Date();

 

 

 

var newdate = [months.get_value(),todaysDate.getDate(),todaysDate.getFullYear()];

 

 

 

 

nextrecall.set_selectedDate(newdate);

 

 

 

<% } %>

 

 

 

}


ASPX.CS

protected

 

IList<string> MonthLabelClientIDList

 

 

{

 

 

get

 

{

 

return (IList<string>)ViewState["MonthLabelClientIDList"];

 

 

}

 

 

set

 

{

ViewState[

"MonthLabelClientIDList"] = value;

 

 

}

 

}

 

 

protected IList<string> NextRecllClientIDList

 

 

{

 

 

get

 

{

 

return (IList<string>)ViewState["NextRecllClientIDList"];

 

 

}

 

 

set

 

{

ViewState[

"NextRecllClientIDList"] = value;

 

 

}

 

}


protected

 

void ItemDataBound(object sender, GridItemEventArgs e)

 

 

{

 

 

if (MonthLabelClientIDList == null)

 

 

{

 

MonthLabelClientIDList =

new List<string>();

 

 

NextRecllClientIDList =

new List<string>();

 

 

 

 

}

 

 

if (e.Item is GridEditableItem && (e.Item as GridEditableItem).IsInEditMode)

 

 

{

 

 

GridEditableItem editItem = e.Item as GridEditableItem;

 

 

RadNumericTextBox monthsToRecall = (RadNumericTextBox)e.Item.FindControl("MonthsEditTxt");

 

 

 

RadDatePicker nextRecall = (RadDatePicker)e.Item.FindControl("NextRecallEdit");

 

MonthLabelClientIDList.Add(monthsToRecall.ClientID);

NextRecllClientIDList.Add(nextRecall.ClientID);

}

Please guide me..

2 Answers, 1 is accepted

Sort by
0
Accepted
Princy
Top achievements
Rank 2
answered on 17 Mar 2011, 10:29 AM
Hello Chinna,

One option is to use HiddenField control to store the ClientID of RadDatePicker. Then from client side event handler(OnValueChanged) access RadDatePicker using this HiddenField value. Sample code is given below.

C#:
protected void RadGrid1_ItemCreated(object sender, GridItemEventArgs e)
   {
       if (e.Item is GridEditFormItem && e.Item.IsInEditMode)
       {
           GridEditFormItem editItem = (GridEditFormItem)e.Item;
           RadDatePicker datePicker = (RadDatePicker)editItem.FindControl("NextRecallEdit");
           HiddenField1.Value = datePicker.ClientID;
       }
   }

Java Script:
<script type="text/javascript">
        function MonthsTextChanged(sender, eventArgs) {
            var raddatepicker = $find(document.getElementById('HiddenField1').value); 
    }
 </script>

Thanks,
Princy.
0
Chinna
Top achievements
Rank 1
answered on 17 Mar 2011, 09:37 PM
Thank you..It worked..
Tags
Grid
Asked by
Chinna
Top achievements
Rank 1
Answers by
Princy
Top achievements
Rank 2
Chinna
Top achievements
Rank 1
Share this question
or