0

这是我为 ragrid 和 radscheduler 提供的 HTML 代码,我为我的 javascript 添加了一个单独的 .js 文件。我已经为此苦苦挣扎了 2 周。

         <form runat="server">
    <telerik:RadSkinManager ID="RadSkinManager1" runat="server" ShowChooser="true" />
    <telerik:RadScriptManager runat="server" ID="RadScriptManager1" />

    <input type="hidden" runat="server" id="TargetSlotHiddenField" />
    <telerik:RadAjaxManager ID="RadAjaxManager1" runat="server">
        <AjaxSettings>
            <telerik:AjaxSetting AjaxControlID="JobRadScheduler">
                <UpdatedControls>
                    <telerik:AjaxUpdatedControl ControlID="JobRadScheduler" LoadingPanelID="RadAjaxLoadingPanel1" />
                </UpdatedControls>
            </telerik:AjaxSetting>
            <telerik:AjaxSetting AjaxControlID="TaskRadGrid">
                <UpdatedControls>
                    <telerik:AjaxUpdatedControl ControlID="TaskRadGrid"></telerik:AjaxUpdatedControl>
                </UpdatedControls>
            </telerik:AjaxSetting>
        </AjaxSettings>
    </telerik:RadAjaxManager>
    <telerik:RadAjaxLoadingPanel ID="RadAjaxLoadingPanel1" runat="server" />
    <telerik:RadPageLayout runat="server" ID="RadPageLayout1" CssClass="radformlayout">
        <Rows>
            <telerik:LayoutRow>
                <Columns>
                    <telerik:LayoutColumn>
                        <div class="demo-container no-bg">
                            <telerik:RadSplitter RenderMode="Lightweight" runat="server" ID="RadSplitter1" Height="900px" Width="2300px"
                                CssClass="exampleContainer" Orientation="Horizontal" Skin="Metro" EnableEmbeddedSkins="false">
                                <telerik:RadPane runat="server" ID="TopPane" Height="700px" Scrolling="None">
                                    <telerik:RadScheduler runat="server" ID="JobRadScheduler" SelectedView="WeekView" CssClass="RadScheduler" Width="100%"
                                        RenderMode="Lightweight" EnableDescriptionField="true" OnNavigationComplete="JobRadScheduler_NavigationComplete"
                                        DataKeyField="ScheduleID" DataSubjectField="Subject" DataStartField="StartDate" DataEndField="EndDate" Skin="Bootstrap"
                                        OnDataBound="JobRadScheduler_DataBound" Height="700px" RowHeight="50px" EnableEmbeddedSkins="false" CustomAttributeNames="JobID"
                                        FirstDayOfWeek="Monday" LastDayOfWeek="Friday" WeekView-DayStartTime="08:00:00" DayEndTime="17:00:00" OverflowBehavior="Auto"
                                        ShowHoursColumn="true"
                                        OnAppointmentCreated="JobRadScheduler_AppointmentCreated"
                                        OnAppointmentInsert="JobRadScheduler_AppointmentInsert"
                                        OnAppointmentUpdate="JobRadScheduler_AppointmentUpdate">
                                        <AdvancedForm Modal="true" />
                                        <AppointmentTemplate>
                                            <%# Eval("Subject")%>
                                        </AppointmentTemplate>
                                        <TimeSlotContextMenuSettings EnableDefault="true"></TimeSlotContextMenuSettings>
                                        <AppointmentContextMenuSettings EnableDefault="true"></AppointmentContextMenuSettings>
                                    </telerik:RadScheduler>
                                </telerik:RadPane>
                                <telerik:RadSplitBar runat="Server" ID="RadSplitBar1">
                                </telerik:RadSplitBar>
                                <telerik:RadPane runat="server" ID="BottomPane">
                                    <div style="float: left; height: 100%; width: 55px; background: #E3EFFF; text-align: center; border-right: 0px solid #6593CF;">
                                        <img src="images/tasks.gif" alt="" />
                                    </div>
                                    <div style="margin-left: 56px; border: none;">
                                        <telerik:RadGrid RenderMode="Lightweight" runat="server" ID="TaskRadGrid" GridLines="None" OnNeedDataSource="TaskRadGrid_NeedDataSource"
                                            AutoGenerateColumns="False" OnRowDrop="TaskRadGrid_RowDrop" Skin="Metro" Style="border: none; outline: 0"
                                            Height="100%" AllowAutomaticInserts="True" AllowAutomaticUpdates="true" EnableEmbeddedSkins="false"
                                            AllowAutomaticDeletes="true" OnItemCreated="TaskRadGrid_ItemCreated"
                                            OnItemCommand="TaskRadGrid_ItemCommand" AllowSorting="true">
                                            <ClientSettings AllowRowsDragDrop="True">
                                                <Selecting AllowRowSelect="True"></Selecting>
                                                <ClientEvents OnRowDropping="rowDropping" OnRowDblClick="onRowDoubleClick"></ClientEvents>
                                            </ClientSettings>
                                            <MasterTableView DataKeyNames="JobID" ShowHeadersWhenNoRecords="true">
                                                <SortExpressions>
                                                    <telerik:GridSortExpression FieldName="DueDate" SortOrder="Ascending"></telerik:GridSortExpression>
                                                </SortExpressions>
                                                <Columns>
                                                    <telerik:GridTemplateColumn DataField="Subject" HeaderText="Task">
                                                        <ItemTemplate>
                                                            <asp:Label runat="server" ID="Label1" Text='<%# Bind("JobNumber") %>'></asp:Label>
                                                        </ItemTemplate>
                                                        <FooterTemplate>
                                                            <asp:LinkButton Text="Add new task" CommandName="<%# RadGrid.InitInsertCommandName %>"
                                                                runat="server" ID="LinkButton1"></asp:LinkButton>
                                                        </FooterTemplate>
                                                        <EditItemTemplate>
                                                            <asp:TextBox runat="Server" ID="TextBox1" Text='<%# Bind("JobNumber") %>' Width="100%"></asp:TextBox>
                                                        </EditItemTemplate>
                                                    </telerik:GridTemplateColumn>
                                                    <telerik:GridBoundColumn UniqueName="JobNumber" HeaderText="Job Number" DataField="JobNumber"></telerik:GridBoundColumn>
                                                    <telerik:GridBoundColumn UniqueName="OrderDate" HeaderText="Order Date" DataField="OrderDate"></telerik:GridBoundColumn>
                                                    <telerik:GridBoundColumn UniqueName="DueDate" HeaderText="Due Date" DataField="DueDate"></telerik:GridBoundColumn>
                                                    <telerik:GridButtonColumn ConfirmText="Delete this Appointment?" ButtonType="ImageButton"
                                                        CommandName="Delete" Text="Delete" UniqueName="DeleteColumn">
                                                        <HeaderStyle Width="20px"></HeaderStyle>
                                                        <ItemStyle HorizontalAlign="Center" CssClass="MyImageButton"></ItemStyle>
                                                    </telerik:GridButtonColumn>
                                                </Columns>
                                            </MasterTableView>
                                        </telerik:RadGrid>
                                    </div>
                                </telerik:RadPane>
                            </telerik:RadSplitter>
                        </div>
                    </telerik:LayoutColumn>
                </Columns>
            </telerik:LayoutRow>
        </Rows>
    </telerik:RadPageLayout>
    <telerik:RadScriptBlock runat="Server" ID="RadScriptBlock1">
        <script type="text/javascript">

            /* <![CDATA[ */
            Sys.Application.add_load(function () {
                demo.scheduler = $find("<%= JobRadScheduler.ClientID %>");
                demo.targetSlotHiddenFieldId = "<%=TargetSlotHiddenField.ClientID %>";
            });
            /* ]]> */


        </script>
        <script type="text/javascript" src="scripts/scripts.js"></script>

    </telerik:RadScriptBlock>
</form>

这是我的 JS,我只想让 Radscheduler 看到新的约会。我没有赢得这个,我不确定我做错了什么,因为我没有很多 Javascript 技能

     (function () {

var demo = window.demo = window.demo || {};

window.rowDropping = function (sender, eventArgs) {
    // Fired when the user drops a grid row
    var htmlElement = eventArgs.get_destinationHtmlElement();

    if (isPartOfSchedulerAppointmentArea(htmlElement)) {
        // The row was dropped over the scheduler appointment area
        // Find the exact time slot and save its unique index in the hidden field
        var timeSlot;

        if ($telerik.$(htmlElement).parents(".rsApt").length != 0)
            timeSlot = demo.scheduler.getAppointmentFromDomElement(htmlElement).get_timeSlot();
        else
            timeSlot = demo.scheduler._activeModel.getTimeSlotFromDomElement(htmlElement);

        $get(demo.targetSlotHiddenFieldId).value = timeSlot.get_index();

        // The HTML needs to be set in order for the postback to execute normally
        eventArgs.set_destinationHtmlElement(demo.targetSlotHiddenFieldId);
    }
    else {
        // The node was dropped elsewhere on the document
        eventArgs.set_cancel(true);
    }
}

function isPartOfSchedulerAppointmentArea(htmlElement) {
    // Determines if an HTML element is part of the scheduler appointment area
    // This can be either the rsContent or the rsAllDay div (in day and week view)
    return $telerik.$(htmlElement).parents().is("div.rsAllDay") ||
        $telerik.$(htmlElement).parents().is("div.rsContent")
}

window.onRowDoubleClick = function (sender, args) {
    sender.get_masterTableView().editItem(args.get_itemIndexHierarchical());
}

}());

它没有给出任何错误,但 htmlElement 是空白的。请有人帮忙

4

0 回答 0