or
protected void dispTimeline_NavigationCommand(object sender, Telerik.Web.UI.SchedulerNavigationCommandEventArgs e) { switch (e.Command) { case Telerik.Web.UI.SchedulerNavigationCommand.NavigateToPreviousPeriod: dispTimeline.SelectedDate = dispTimeline.SelectedDate.AddDays(-1); e.Cancel = true; break; case Telerik.Web.UI.SchedulerNavigationCommand.NavigateToNextPeriod: dispTimeline.SelectedDate = dispTimeline.SelectedDate.AddDays(1); e.Cancel = true; break; case SchedulerNavigationCommand.SwitchToSelectedDay: dispTimeline.SelectedDate = e.SelectedDate.AddDays(-3); e.Cancel = true; break; case SchedulerNavigationCommand.NavigateToSelectedDate: RadCalendar popupCalendar = dispTimeline.FindControl("SelectedDateCalendar") as RadCalendar; dispTimeline.SelectedDate = popupCalendar.SelectedDate.AddDays(-3); // this doesn't work either //dispTimeline.SelectedDate = popupCalendar.FocusedDate; e.Cancel = true; break; } }<telerik:RadScheduler ID="dispTimeline" runat="server" DataDescriptionField="Observations" DataEndField="ToDate" DataKeyField="ReservationID" DataSourceID="SqlDataSource1" DataStartField="FromDate" DataSubjectField="Description" DayEndTime="23:59:00" DayStartTime="00:00:00" EnableDescriptionField="True" FirstDayOfWeek="Monday" HoursPanelTimeFormat="H:mm" LastDayOfWeek="Sunday" SelectedView="TimelineView" TimeLabelRowSpan="1" TimeZoneID="GTB Standard Time" TimeZoneOffset="02:00:00" WorkDayEndTime="18:00:00" WorkDayStartTime="09:00:00" MinimumInlineFormHeight="200" OverflowBehavior="Expand" Localization-HeaderMultiDay="Work Week" ColumnWidth="50px" ShowViewTabs="False" OnNavigationCommand="dispTimeline_NavigationCommand" AllowDelete="False" AllowEdit="False" AllowInsert="False" OnAppointmentClick="dispTimeline_AppointmentClick" GroupingDirection="Vertical" OnDataBound="dispTimeline_DataBound" OnNavigationComplete="dispTimeline_NavigationComplete" SelectedDate="2012-10-01" OnPreRender="dispTimeline_PreRender"> <AdvancedForm Modal="true" Enabled="False" /> <ResourceTypes> <telerik:ResourceType Name="grpTimeline" DataSourceID="dsGrup" KeyField="ID" TextField="Denumire" ForeignKeyField="" /> <telerik:ResourceType KeyField="StatusID" Name="Status" TextField="Description" ForeignKeyField="StatusID" DataSourceID="dsStatus" /> </ResourceTypes> <ResourceStyles> <telerik:ResourceStyleMapping Type="Status" Text="Rezervare" ApplyCssClass="rsCategoryGreen" /> <telerik:ResourceStyleMapping Type="Status" Text="Contract in derulare" ApplyCssClass="rsCategoryRed" /> <telerik:ResourceStyleMapping Type="Status" Text="Contract inchis" ApplyCssClass="rsCategoryBlue" /> <telerik:ResourceStyleMapping Type="Status" Text="Contract facturat" ApplyCssClass="rsCategoryDarkBlue" /> <telerik:ResourceStyleMapping Type="Status" Text="Alte rezervari" ApplyCssClass="rsCategoryYellow" /> <telerik:ResourceStyleMapping Type="Status" Text="Indisponibil" BackColor="DarkGray" /> </ResourceStyles> <Localization HeaderMultiDay="Work Week"></Localization> <TimelineView HeaderDateFormat="dd.MMM.yyyy" NumberOfSlots="35" SlotDuration="1.00:00:00" UserSelectable="true" SortingMode="Global" ColumnHeaderDateFormat="dd.MMM" /> <MultiDayView UserSelectable="false" /> <DayView UserSelectable="false" /> <WeekView UserSelectable="false" /> <MonthView UserSelectable="false" /></telerik:RadScheduler>Protected Sub Clearfilters_Click(sender As Object, e As System.EventArgs) Handles Clearfilters.Click RiskAssessmentsGrid.MasterTableView.FilterExpression = String.Empty For Each column As GridColumn In RiskAssessmentsGrid.MasterTableView.RenderColumns If TypeOf column Is GridBoundColumn Then Dim boundColumn As GridBoundColumn = TryCast(column, GridBoundColumn) boundColumn.CurrentFilterValue = String.Empty End If Next For Each item As GridFilteringItem In RiskAssessmentsGrid.MasterTableView.GetItems(GridItemType.FilteringItem) Dim f As RadDatePicker = DirectCast(item.FindControl("FromDateCreatedPicker"), RadDatePicker) Dim t As RadDatePicker = DirectCast(item.FindControl("ToDateCreatedPicker"), RadDatePicker) f.SelectedDate = DateTime.Now.Date t.SelectedDate = DateTime.Now.Date Next RiskAssessmentsGrid.MasterTableView.Rebind() RiskAssessmentsGrid.Rebind() End Sub
function clientShow(sender, eventArgs) { var tree = $find("<%= tvwBidPackageFolders.ClientID %>"); var node = tree.get_selectedNode(); if (node) { var attributes = node.get_attributes(); var attribute1 = attributes.getAttribute("fid"); sender.argument = attribute1; } }function pageLoad() { txtInput = $get('txtUserInput'); var currentWindow = GetRadWindow(); txtInput.value = currentWindow.argument; }Hello,
I'm using RadToolTip in a RadScheduler with sqldatasource and i can see only and empty RadScheduler. Also, when i press the Save button a null reference exception arises in the following line of the Radscheduler1_AppointmentCreated method: string id = e.Appointment.ID.ToString; (The DataItem and the ID are null). The data insert to the database.
What am i doing wrong;
Thank you very much.
P.S.
I have writthen the following code:
aspx code
<telerik:RadScriptManager ID="RadScriptManager1" runat="server"> <Scripts> <asp:ScriptReference Assembly="Telerik.Web.UI" Name="Telerik.Web.UI.Common.Core.js" /> <asp:ScriptReference Assembly="Telerik.Web.UI" Name="Telerik.Web.UI.Common.jQuery.js" /> <asp:ScriptReference Assembly="Telerik.Web.UI" Name="Telerik.Web.UI.Common.jQueryInclude.js" /> </Scripts> </telerik:RadScriptManager> <script type="text/javascript"> function hideActiveToolTip() { var tooltip = Telerik.Web.UI.RadToolTip.getCurrent(); if (tooltip) { tooltip.hide(); } } Sys.WebForms.PageRequestManager.getInstance().add_beginRequest(beginRequestHandler); function beginRequestHandler(sender, args) { var prm = Sys.WebForms.PageRequestManager.getInstance(); if (args.get_postBackElement().id.indexOf('RadScheduler1') != -1) { hideActiveToolTip(); } } function OnClientRequestStart(sender, args) { args.set_cancel(true); var tooltip = Telerik.Web.UI.RadToolTip.getCurrent(); if (tooltip) { var element = tooltip.get_targetControl(); var apt = $find("<%=RadScheduler1.ClientID %>").getAppointmentFromDomElement(element); $get("startTime").innerHTML = apt.get_start().format("MM/dd/yyyy HH:mm"); $get("endTime").innerHTML = apt.get_end().format("MM/dd/yyyy HH:mm"); $get("descriptionDiv").innerHTML = apt.get_subject(); tooltip.set_text($get("contentContainer").innerHTML); } } function OnClientAppointmentContextMenu(sender, args) { hideActiveToolTip(); } </script> <telerik:RadScheduler runat="server" ID="RadScheduler1" Width="750px" TimeZoneOffset="03:00:00" EnableDescriptionField="true" SelectedDate="2012-04-16" DayStartTime="08:00:00" DayEndTime="18:00:00" DataSourceID="SqlDataSource1" DataKeyField="ID" DataSubjectField="Subject" DataDescriptionField="Description" DataStartField="Start" DataEndField="End" DataRecurrenceField="RecurrenceRule" DataRecurrenceParentKeyField="RecurrenceParentID" DisplayDeleteConfirmation="true" SelectedView="WeekView" OnClientAppointmentContextMenu="OnClientAppointmentContextMenu" CustomAttributeNames="LastModified, Annotations, User"> <AdvancedForm Modal="true" /> <TimelineView UserSelectable="false" /> <TimeSlotContextMenuSettings EnableDefault="true" /> <AppointmentContextMenuSettings EnableDefault="true" /> </telerik:RadScheduler> <telerik:RadToolTipManager runat="server" ID="RadToolTipManager1" Width="320" Height="170" Animation="None" HideEvent="Default" Text="Loading..." OnAjaxUpdate="RadToolTipManager1_AjaxUpdate" /> <div style="display: none;"> <div id="contentContainer"> <div class="appointment-tooltip"> <p> Starts on: <span id="startTime"> <!-- --> </span> <br /> Ends on: <span id="endTime"> <!-- --> </span> </p> <hr /> Description: <div id="descriptionDiv"> </div> </div> </div> </div> <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:HumanResourcesConnectionString %>" DeleteCommand="DELETE FROM [Schedule] WHERE [ID] = @ID" InsertCommand="INSERT INTO [Schedule] ([Subject], [Description], [Start], [End], [RecurrenceRule], [RecurrenceParentID], [User], [LastModified]) VALUES (@Subject, @Description, @Start, @End, @RecurrenceRule, @RecurrenceParentID, @User, @LastModified)" SelectCommand="SELECT * FROM [Schedule]" UpdateCommand="UPDATE [Schedule] SET [Subject] = @Subject, [Description]=@Description, [Start] = @Start, [End] = @End, [RecurrenceRule]=@RecurrenceRule, [RecurrenceParentID]=@RecurrenceParentID, [User]=@User, [LastModified]=@LastModified WHERE [ID] = @ID"> <SelectParameters> <asp:SessionParameter Name="User" SessionField="User" DefaultValue="" /> </SelectParameters> <DeleteParameters> <asp:Parameter Name="ID" Type="Int32" /> </DeleteParameters> <UpdateParameters> <asp:Parameter Name="Subject" Type="String" /> <asp:Parameter Name="Description" Type="String" /> <asp:Parameter Name="Start" Type="DateTime" /> <asp:Parameter Name="End" Type="DateTime" /> <asp:Parameter Name="ID" Type="Int32" /> <asp:Parameter Name="RecurrenceRule" Type="String" /> <asp:Parameter Name="RecurrenceParentID" Type="Int32" /> <asp:Parameter Name="Annotations" Type="String" /> <asp:SessionParameter Name="User" SessionField="User" DefaultValue="" /> <asp:Parameter Name="LastModified" Type="String" /> </UpdateParameters> <InsertParameters> <asp:Parameter Name="Subject" Type="String" /> <asp:Parameter Name="Description" Type="String" /> <asp:Parameter Name="Start" Type="DateTime" /> <asp:Parameter Name="End" Type="DateTime" /> <asp:Parameter Name="Annotations" Type="String" /> <asp:Parameter Name="RecurrenceRule" Type="String" /> <asp:Parameter Name="RecurrenceParentID" Type="Int32" /> <asp:SessionParameter Name="User" SessionField="User" DefaultValue="" /> <asp:Parameter Name="LastModified" Type="String" /> </InsertParameters> </asp:SqlDataSource>
aspx.cs code
public partial class _Default : System.Web.UI.Page{ private void Page_Load(object sender, EventArgs e) { RadScheduler1.AppointmentCreated += RadScheduler1_AppointmentCreated; RadScheduler1.DataBound += RadScheduler1_DataBound; RadToolTipManager1.OnClientRequestStart = String.Empty; } protected void RadScheduler1_AppointmentDataBound(object sender, SchedulerEventArgs e) { RadToolTipManager1.TargetControls.Clear(); ScriptManager.RegisterStartupScript(this, typeof(Page), "HideToolTip", "hideActiveToolTip();", true); } protected void RadScheduler1_AppointmentCreated(object sender, AppointmentCreatedEventArgs e) { if (e.Appointment.Visible && !IsAppointmentRegisteredForTooltip(e.Appointment)) { string id = e.Appointment.ID.ToString(); foreach (string domElementID in e.Appointment.DomElements) { RadToolTipManager1.TargetControls.Add(domElementID, id, true); } } } protected void RadToolTipManager1_AjaxUpdate(object sender, ToolTipUpdateEventArgs e) { int aptId; Appointment apt; if (!int.TryParse(e.Value, out aptId))//The appoitnment is occurrence and FindByID expects a string apt = RadScheduler1.Appointments.FindByID(e.Value); else //The appointment is not occurrence and FindByID expects an int apt = RadScheduler1.Appointments.FindByID(aptId); AppointmentToolTip toolTip = (AppointmentToolTip)LoadControl("AppointmentToolTip.ascx"); toolTip.TargetAppointment = apt; e.UpdatePanel.ContentTemplateContainer.Controls.Add(toolTip); } protected void RadScheduler1_DataBound(object sender, EventArgs e) { RadToolTipManager1.TargetControls.Clear(); ScriptManager.RegisterStartupScript(this, typeof(Page), "HideToolTip", "hideActiveToolTip();", true); } private bool IsAppointmentRegisteredForTooltip(Appointment apt) { foreach (ToolTipTargetControl targetControl in RadToolTipManager1.TargetControls) { if (apt.DomElements.Contains(targetControl.TargetControlID)) { return true; } } return false; } }