Hello,
Thanks a lot!!
Regards
Tobias
Is there a way to use the RadAjaxManager and the RadToolTipManager together?
I want to use ajax for inserting and editing the appointments in the scheduler (http://demos.telerik.com/aspnet-ajax/scheduler/examples/outlook2007/defaultcs.aspx)
and the tooltip to show the appointment details (http://demos.telerik.com/aspnet-ajax/scheduler/examples/radtooltip/defaultcs.aspx).
I have both examples up an running. But as far as i try to implement both features, the tooltip doesn't come up.
When i remove the RadAjaxManager the tooltips works fine.
| ..... |
| <div> |
| <script type="text/javascript"> |
| //<![CDATA[ |
| 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 clientBeforeShow(sender, eventArgs) { |
| w = $telerik.$(window).width() / 2; |
| h = $telerik.$(window).height() / 2; |
| if ((sender._mouseX > w) && (sender._mouseY > h)) { |
| sender.set_position(Telerik.Web.UI.ToolTipPosition.TopLeft); |
| return; |
| } |
| if ((sender._mouseX < w) && (sender._mouseY > h)) { |
| sender.set_position(Telerik.Web.UI.ToolTipPosition.TopRight); |
| return; |
| } |
| if ((sender._mouseX > w) && (sender._mouseY < h)) { |
| sender.set_position(Telerik.Web.UI.ToolTipPosition.BottomLeft); |
| return; |
| } |
| sender.set_position(Telerik.Web.UI.ToolTipPosition.BottomRight); |
| } |
| //]]> |
| </script> |
| <telerik:RadScriptManager ID="RadScriptManager1" runat="server" /> |
| <telerik:RadAjaxManager ID="RadAjaxManager1" runat="server" DefaultLoadingPanelID="RadAjaxLoadingPanel1"> |
| <ajaxsettings> |
| <telerik:AjaxSetting AjaxControlID="Panel1"> |
| <UpdatedControls> |
| <telerik:AjaxUpdatedControl ControlID="RadScheduler1" LoadingPanelID="RadAjaxLoadingPanel1" /> |
| </UpdatedControls> |
| </telerik:AjaxSetting> |
| </ajaxsettings> |
| </telerik:RadAjaxManager> |
| <telerik:RadAjaxLoadingPanel runat="server" ID="RadAjaxLoadingPanel1" Skin="Office2007" /> |
| <asp:Panel ID="Panel1" runat="server"> |
| <telerik:RadScheduler ID="RadScheduler1" runat="server" Culture="German (Germany)" |
| DataEndField="End" DataKeyField="ID" DataRecurrenceField="RecurrenceRule" DataRecurrenceParentKeyField="RecurrenceParentID" |
| DataSourceID="ObjectDataSourceAppointments" DataStartField="Start" DataSubjectField="Subject" |
| HoursPanelTimeFormat="Htt" ShowFooter="False" Skin="Office2007" StartInFullTime="True" |
| StartInsertingInAdvancedForm="True" ValidationGroup="RadScheduler1" SelectedView="MonthView" |
| ShowFullTime="True" CustomAttributeNames="Inhaber" EnableCustomAttributeEditing="True" |
| TimeZoneOffset="01:00:00" WorkDayEndTime="20:00:00" WorkDayStartTime="07:00:00" |
| Width="900px" FirstDayOfWeek="Monday" LastDayOfWeek="Sunday" OnAppointmentDataBound="RadScheduler1_AppointmentDataBound" |
| OnAppointmentCreated="RadScheduler1_AppointmentCreated" OnDataBound="RadScheduler1_DataBound"> |
| <multidayview userselectable="false" /> |
| <timelineview userselectable="false" /> |
| <resourcetypes> |
| <telerik:ResourceType DataSourceID="ObjectDataSourceSegments" ForeignKeyField="SegmentID" |
| KeyField="ID" Name="Segment" TextField="SegmentName" /> |
| <telerik:ResourceType DataSourceID="ObjectDataSourceMedientyp" ForeignKeyField="MedientypID" |
| KeyField="ID" Name="Medientyp" TextField="MedientypName" /> |
| </resourcetypes> |
| <localization advancedalldayevent="All day"></localization> |
| <advancedform dateformat="dd.MM.yyyy" timeformat="HH:mm" enablecustomattributeediting="True" |
| modal="True"></advancedform> |
| </telerik:RadScheduler> |
| </asp:Panel> |
| <asp:UpdatePanel runat="server" ID="UpdatePanel1" UpdateMode="Conditional"> |
| <ContentTemplate> |
| <telerik:RadToolTipManager runat="server" ID="RadToolTipManager1" Width="320" Height="210" |
| Animation="None" HideEvent="LeaveToolTip" Text="Loading..." RelativeTo="Element" |
| OnAjaxUpdate="RadToolTipManager1_AjaxUpdate" OnClientBeforeShow="clientBeforeShow" |
| Skin="Office2007" AutoTooltipify="false" /> |
| </ContentTemplate> |
| </asp:UpdatePanel> |
| ... |
| </div> |
| ... |
| protected void Page_Load(object sender, EventArgs e) |
| { |
| RadScheduler1.AppointmentCreated += RadScheduler1_AppointmentCreated; |
| RadScheduler1.DataBound += RadScheduler1_DataBound; |
| } |
| protected void RadScheduler1_AppointmentCreated(object sender, AppointmentCreatedEventArgs e) |
| { |
| string clientID = e.Appointment.ClientID; |
| RadToolTipManager1.TargetControls.Add(clientID, e.Appointment.ID.ToString(), 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("~/controls/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); |
| } |
| } |
| } |
Thanks a lot!!
Regards
Tobias