Hi Team,
I have a radgrid with some TemplateColumns in it.
Two such template columns have Raddatepicket in EditItemTemplate.
I want to find those two raddatepickers (which are in two different columns) and fire the Selected Datechanged client side event.
How can I do this??
Please help..
Regards,
Lok..
I have a radgrid with some TemplateColumns in it.
Two such template columns have Raddatepicket in EditItemTemplate.
I want to find those two raddatepickers (which are in two different columns) and fire the Selected Datechanged client side event.
How can I do this??
Please help..
Regards,
Lok..
4 Answers, 1 is accepted
0
Princy
Top achievements
Rank 2
answered on 22 Aug 2011, 06:36 AM
Hello Lokesh,
You can directly attach the ClientEvent OnDateSelected from aspx and access the DatePicker using the two default parameters:sender and args. Here is the sample code that I tried which worked as expected.
aspx:
Javascript:
Thanks,
Princy.
You can directly attach the ClientEvent OnDateSelected from aspx and access the DatePicker using the two default parameters:sender and args. Here is the sample code that I tried which worked as expected.
aspx:
<telerik:GridTemplateColumn> <EditItemTemplate> <telerik:RadDatePicker ID="RadDatePicker1" runat="server"> <ClientEvents OnDateSelected="OnDateSelected"/> </telerik:RadDatePicker> </EditItemTemplate></telerik:GridTemplateColumn>Javascript:
function OnDateSelected(sender,args) { alert(sender.get_selectedDate()); } Thanks,
Princy.
0
Lokesh
Top achievements
Rank 1
answered on 22 Aug 2011, 06:54 AM
Hi Princy,
Thanks for your reply.
I want to find those two raddatepickers in two columns so that I can perform some operations on dates.
How can I do this??
Thanks for your reply.
I want to find those two raddatepickers in two columns so that I can perform some operations on dates.
How can I do this??
0
Lokesh
Top achievements
Rank 1
answered on 23 Aug 2011, 09:37 AM
Hey Princy,
I found those raddatepickers on client side as follows :
And my javscript function is :
I want to set the result of my date calculations to that textbox..
Colud you please help me at this..??
Regards,
Lok..
I found those raddatepickers on client side as follows :
var
masterTable = $find("ctl00_MainContentPlaceHolder_rgContarctItems").get_masterTableView();
var StartDate = masterTable.get_dataItems()[0].findControl('rdServiceStartDate');
var EndDate = masterTable.get_dataItems()[0].findControl('rdServiceEndDate');
This way I get the controls and their dates also.
But I have another TemplateColumn with asp-textbox in EditeItemTemplate.
I am not able to find it using above code...
Could you please help me at this..
This is what my grid looks like..
<telerik:RadGrid ID="rgContarctItems" runat="server" PageSize="5" AllowPaging="true" OnDeleteCommand="RGrid_ContarctItems_DeleteCommand" OnItemCommand="RGrid_ContarctItems_ItemCommand" OnNeedDataSource="RGrid_ContarctItems_NeedDataSource" OnUpdateCommand="RGrid_ContarctItems_UpdateCommand" OnItemDataBound="RGrid_ContarctItems_ItemDataBound" OnItemCreated="RGrid_ContarctItems_ItemCreated"> <MasterTableView EditMode="InPlace" AutoGenerateColumns="False"> <Columns> <telerik:GridBoundColumn UniqueName="ContractID" HeaderText="ContractID" DataField="ContractID" Display="false"> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="ContractItemID" HeaderText="Contract Item ID" UniqueName="ContractItemID" Visible="False"> <ItemStyle HorizontalAlign="Left" /> </telerik:GridBoundColumn> <telerik:GridTemplateColumn HeaderText="Service Start Date" UniqueName="TemplateColumn_ServiceStartDate" DataField="ServiceStartDate" DataType="system.datetime" SortExpression="ServiceStartDate" AutoPostBackOnFilter="true" CurrentFilterFunction="EqualTo"> <ItemTemplate> <asp:Label ID="lblServiceStartDate" runat="server" Text='<%# DataBinder.Eval(Container.DataItem,"ServiceStartDate","{0:d}") %>'> </asp:Label> </ItemTemplate> <EditItemTemplate> <telerik:RadDatePicker ID="rdServiceStartDate" runat="server" MaxDate="9999-12-31" OnSelectedDateChanged="SetContractItemTenure" AutoPostBack="false" MinDate="1999-01-01" DbSelectedDate='<%# DataBinder.Eval(Container.DataItem,"ServiceStartDate") %>'> <ClientEvents OnDateSelected="OnDateSelected"/> </telerik:RadDatePicker> </EditItemTemplate> <ItemStyle /> <HeaderStyle HorizontalAlign="Center" Width="10%" /> <ItemStyle Width="10%" /> </telerik:GridTemplateColumn> <telerik:GridTemplateColumn HeaderText="Service End Date" UniqueName="TemplateColumn_ServiceEndDate" DataField="ServiceEndDate" DataType="system.datetime" SortExpression="ServiceEndDate" AutoPostBackOnFilter="true" CurrentFilterFunction="EqualTo"> <ItemTemplate> <asp:Label ID="lblServiceEndDate" runat="server" Height="20px" Text='<%# DataBinder.Eval(Container.DataItem,"ServiceEndDate","{0:d}") %>'> </asp:Label> </ItemTemplate> <EditItemTemplate> <telerik:RadDatePicker ID="rdServiceEndDate" runat="server" MaxDate="9999-12-31" OnSelectedDateChanged="SetContractItemTenure" AutoPostBack="false" MinDate="1999-01-01" DbSelectedDate='<%# DataBinder.Eval(Container.DataItem,"ServiceEndDate") %>'> <ClientEvents OnDateSelected="OnDateSelected"/> </telerik:RadDatePicker> </EditItemTemplate> <ItemStyle /> <HeaderStyle HorizontalAlign="Center" Width="10%" /> <ItemStyle Width="10%" /> </telerik:GridTemplateColumn> <telerik:GridTemplateColumn HeaderText="Tenure" UniqueName="Tenure" DataType="System.Int32" DataField="Tenure" AutoPostBackOnFilter="true" CurrentFilterFunction="EqualTo"> <ItemTemplate> <asp:Label ID="lblContractItemTenure" runat="server" Text='<%# DataBinder.Eval(Container.DataItem,"Tenure") %>'> </asp:Label> </ItemTemplate> <EditItemTemplate> <asp:TextBox ID="tbContractItemTenure" runat="server" Text='<%# DataBinder.Eval(Container.DataItem,"Tenure") %>' Width="75px" > </asp:TextBox> </EditItemTemplate> <HeaderStyle HorizontalAlign="Center" Width="5%" /> <ItemStyle Width="5%" /> </telerik:GridTemplateColumn> </MasterTableView> <GroupingSettings CaseSensitive="False" /> <HeaderStyle /> <PagerStyle Mode="NextPrevAndNumeric" /> </telerik:RadGrid>And my javscript function is :
function OnDateSelected(sender,args) { var masterTable = $find("<%=rgContarctItems.ClientID%>").get_masterTableView(); var StartDate = masterTable.get_dataItems()[0].findControl('rdServiceStartDate'); var EndDate = masterTable.get_dataItems()[0].findControl('rdServiceEndDate'); var txtTenure = masterTable.get_dataItems()[0].findControl('tbContractItemTenure'); StartDate = StartDate.get_selectedDate(); EndDate = EndDate.get_selectedDate(); if (StartDate != null && EndDate != null) { var Tenure = (12 * (EndDate.getFullYear() - StartDate.getFullYear()) + EndDate.getMonth() - StartDate.getMonth()) + 1; txtTenure.value = Tenure; } }I want to set the result of my date calculations to that textbox..
Colud you please help me at this..??
Regards,
Lok..
0
Princy
Top achievements
Rank 2
answered on 23 Aug 2011, 09:57 AM
Hello Lokesh,
You can try the same approach in the following code library to access controls in EditItemTemplate.
Accessing server controls in a grid template on the client.
Thanks,
Princy.
You can try the same approach in the following code library to access controls in EditItemTemplate.
Accessing server controls in a grid template on the client.
Thanks,
Princy.