2016-09-16 1 views
1

Unten ist mein Code für verschachtelte Raster von Telerik:Telerik Nested Ansicht

Ich habe ein Problem mit den Kontrollen (PreviousDate und dateOfBirth) mit Hilfe von Javascript "zu finden".

<%@ 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> 

Vielen Dank im Voraus.

Antwort

0

Die Verwendung von JavaScript mit Telerik-Steuerelementen ist nie schön, aber Sie sollten in der Lage sein, Klassen zu verwenden und zu dem anderen Steuerelement in der gleichen Zeile mit so etwas zu navigieren. Hinweis: Dies ist NICHT

getestet
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")); 
} 

} 

Achten Sie auf die CssClasses zu Ihrem Kalenderwerkzeug hinzufügen, wenn Sie diese

+0

Hallo versuchen werden, Vielen Dank für die gemeinsame Nutzung. Ich bin auf einen Fehler Objekt hat keine Eigenschaft oder Methode 'prop' unterstützt. – ama

+0

Ich denke, ich benutze jQuery nicht genug, um gut darin zu sein. Probieren Sie die aktualisierte Version. Wie auch immer, das ist mehr, um dir eine Vorstellung davon zu geben, wie du das machen sollst. – Seano666

+0

Ich bin froh, dass ich helfen konnte! Wenn Sie denken, dies ist die Antwort, dann markieren Sie sie bitte als solche. Viel Glück! – Seano666