下面是我的telerik嵌套网格的代码:
我在使用javascript“查找”控件(PreviousDate和DateofBirth)时遇到了问题。
<%@ Page Language="c#" CodeFile="DefaultCS.aspx.cs" Inherits="Telerik.GridExamplesCSharp.Hierarchy.NestedViewTemplate.DefaultCS" %>
<%@ Register TagPrefix="telerik" Namespace="Telerik.Web.UI" Assembly="Telerik.Web.UI" %>
<%@ Register TagPrefix="telerik" Namespace="Telerik.Charting" Assembly="Telerik.Web.UI" %>
<script type="text/javascript" language="javascript">
function showPreviousDate(sender, eventArgs) {
var Grid = $find("<%= RadGrid1.ClientID %>");
var MasterTable = Grid.get_masterTableView.get_dataItems();
for (var i = 0; i < MasterTable.get_dataItems().length; i++) {
var row = MasterTable.get_dataItems()[i];
}
}
</script>
<body>
<form id="form1" runat="server">
<ajaxToolkit:TabContainer ID="tabPrevious" runat="server"
ActiveTabIndex="0"/>
<ajaxToolkit:TabPanel runat="server" HeaderText="Previous records"
ID="tabPrevious"/>
<ContentTemplate>
<telerik:RadGrid RenderMode="Lightweight" ID="RadGrid1"
OnPreRender="RadGrid1_PreRender" DataSourceID="SqlDataSource1"
runat="server" AutoGenerateColumns="False" AllowSorting="True"
AllowMultiRowSelection="False"
AllowPaging="True" PageSize="5" GridLines="None" ShowGroupPanel="true"
OnItemCreated="RadGrid1_ItemCreated"
OnItemCommand="RadGrid1_ItemCommand">
<PagerStyle Mode="NumericPages"></PagerStyle>
<MasterTableView DataSourceID="SqlDataSource1" GroupLoadMode="Server">
<NestedViewTemplate>
<asp:Panel ID="Panel1" runat="server" CssClass="viewWrap"
Visible="false">
<table runat="server" style="width: 100%;">
<tr>
<td align="center">Previous Records </td>
</tr>
<tr>
<td align="center">
<table>
<tr>
<td style="padding-right: 20px">
<asp:Label ID="labelDOb" runat="server" Text="Date of Birth" Width="100px"></asp:Label>
<telerik:RadDatePicker SharedCalendarID="SharedCalendar"
ShowPopupOnFocus="true" Enabled="false" RenderMode="Lightweight"
ID="DateofBirth" runat="server">
</telerik:RadDatePicker>
</td>
<td style="padding-right: 20px">
<asp:Label ID="labelDate" runat="server" Text="Previous Date" Width="100px">
</asp:Label>
<telerik:RadDatePicker SharedCalendarID="SharedCalendar" ShowPopupOnFocus="true"
Enabled="false" RenderMode="Lightweight" ID="PreviousDate" runat="server">
<ClientEvents OnDateSelected="showPreviousDate" />
</telerik:RadDatePicker>
</td>
</tr>
</table>
</td>
</tr>
</table>
</asp:Panel>
</NestedViewTemplate>
</MasterTableView>
</telerik:RadGrid>
</ContentTemplate>
</ajaxToolkit:TabPanel>
</ajaxToolkit:TabContainer>
</html>提前谢谢。
发布于 2016-09-16 23:54:43
将JavaScript与Telerik控件一起使用从来都不是很好,但您应该能够使用类并导航到同一行中的另一个控件,如下所示。请注意,这是未经测试的
function showPreviousDate(sender, eventArgs) {
var thisID = sender.get_id();
var dateOfBirthControl, previousDateControl
if (thisID.indexOf("Birth") > -1){
//sender is the date of birth picker, and we have to find the other one
dateOfBirthControl = sender;
previousDateControl = $find($("#" + sender.get_id).parent().next().find(".PrevDateControl").prop("id"));
}
else {
//sender is the previousDateControl picker, and we have to find the other
previousDateControl = sender;
dateOfBirthControl = $find($("#" + sender.get_id).parent().prev().find(".BirthDateControl").prop("id"));
}
}如果要尝试此操作,请确保将CssClasses添加到您的DatePickers中
https://stackoverflow.com/questions/39533049
复制相似问题