Hi Team,
We are using the Telerik RadScheduler control in our ASP.NET Web Application, configured with a Timeline view and vertical resource grouping. Appointments are displayed in the content pane, similar to the example provided in the following link, with the key difference being that resource grouping is set to vertical:
https://demos.telerik.com/aspnet-ajax/scheduler/examples/timelineview/defaultcs.aspx
Appointments are editable for drag-and-drop functionality. We have also implemented a confirmation dialog that appears when a user drops an appointment. If the user selects "No", the appointment reverts to its original position.
Reference for the confirmation dialog implementation:
https://www.telerik.com/forums/display-a-confirmation-dialog-box-for-scheduler-drag-and-drop
We are encountering a UI issue when a user drags an appointment to the first hour in the timeline view. If the appointment is moved slightly beyond the start of the timeline (into the previous period), it visually shrinks in width. Upon triggering the confirmation dialog and selecting "No", the appointment correctly returns to its original position, but its visual width remains reduced. This is corrected only upon a manual page refresh. Images shown below for reference.
Before Drag:
Is there a recommended approach to restore the original visual dimensions of the appointment without requiring a manual refresh? We would like to maintain a consistent UI state immediately after canceling the drag operation.
Thanks
Sathyendranath
Hi
In our application, we have a requirement to implement functionality that allows users to sort the resource column in ascending or descending order via a button placed atop the resource header. Requirement is as shown in below image.
Could you please provide guidance on how to achieve this?
Thanks
Sathyendranath
Hi Team,
We are using RadScheduler to display the capacity chart in our application. The scheduler data, including Resources and Appointments, is dynamically retrieved from the database and filtered based on a Start Date and Completion Date. The slots are calculated dynamically according to these date parameters and are set at runtime in the server-side code.
We have observed an issue during data rendering: when the number of slots exceeds 20, appointments appear duplicated in the Timeline View. The issue is illustrated in the attached images.
Could you please confirm if this is a known issue? Additionally, if there is a recommended solution or workaround, we would appreciate your guidance.
Looking forward to your response.
SCENARIO: Appointment appear correctly for 20 slots.
SCENARIO: Duplicate Appointment appear for 21 slots.
Best Regards
Sathyendranath
My scenario is that i have a RadScheduler as part of my master page so it loads on all pages. This is done so that appointment reminders can popup on any page regardless of what page the user is on. This is working great with the exception of snoozing. Snoozing seems to work as long as the user doesn't change to a different page, or do anything that performs a page postback. When that happens, the page reloads and the snooze info is lost. I see there is a Reminder Snooze event, and in there can see where a Snooze Minutes value is provided. My question is how do i persist this value so that i can get it back into the scheduler after the scheduler data is reloaded. I can't assume that the user is just going to stay on the same page. The snooze value doesn't appear to be part of the actual Reminder text string.
Furthermore this snooze period would have to be converted to an actual time. If the user presses snooze for 5 minutes and i update the database somehow with this information, and then the user changes pages after three minutes, when the appointment is read back in the popup should only snooze for 2 more minutes, not 5.
Thanks for your help!
-Mark
This Telerik aspx-ajax RadScheduler is driving me nuts. Normally i prefer Telerik Web UI to DevExpress anything, but I'm banging my head against a wall here and not getting anywhere.I have two interdependent selections to make when adding an appointment on the scheduler. I need to select a doctor, and I need to select a patient (patients filtered by the selected doctor). The rest is your standard date and time and subject gumpf.For this I'm using the <AdvancedInsertTemplate> and <AdvancedUpdateTemplate> elements of the scheduler:
<AdvancedInsertTemplate>
<div class="rsAdvancedEdit rsAdvancedModal" style="position: relative; height: 300px;">
<div class="rsModalBgTopLeft">
</div>
<div class="rsModalBgTopRight">
</div>
<div class="rsModalBgBottomLeft">
</div>
<div class="rsModalBgBottomRight">
</div>
<div class="rsAdvTitle">
<h1 class="rsAdvInnerTitle">
<%# Container.Appointment.Owner.Localization.AdvancedEditAppointment %></h1>
<asp:LinkButton runat="server" ID="LinkButton1" CssClass="rsAdvEditClose"
CommandName="Cancel" CausesValidation="false" ToolTip='<%# Container.Appointment.Owner.Localization.AdvancedClose %>'>
<%# Container.Appointment.Owner.Localization.AdvancedClose%>
</asp:LinkButton>
</div>
<div class="rsAdvContentWrapper">
<div class="form-horizontal">
<div class="form-group">
<label class="col-md-2 control-label">Subject</label>
<div class="col-md-10">
<asp:TextBox runat="server" ID="AppointmentSubject" CssClass="col-md-10 form-control" />
</div>
</div>
<div class="form-group">
<label class="col-md-2 control-label">Start time:</label>
<div class="col-md-10">
<telerik:RadDateTimePicker RenderMode="Lightweight" ID="StartTime" SelectedDate='<%# DateTime.Now.Date %>' runat="server"
EnableSingleInputRendering="false" />
</div>
</div>
<div class="form-group">
<label class="col-md-2 control-label">Doctor:</label>
<div class="col-md-10">
<asp:DropDownList runat="server" ID="DoctorsList"
CssClass="form-control" />
</div>
</div>
<div class="form-group">
<label class="col-md-2 control-label">Patient Name:</label>
<div class="col-md-10">
<asp:DropDownList runat="server" ID="PatientsList"
CssClass="form-control" />
</div>
</div>
</div>
<asp:Panel runat="server" ID="Panel1" CssClass="rsAdvancedSubmitArea">
<div class="rsAdvButtonWrapper">
<asp:LinkButton CommandName="Insert" runat="server" ID="LinkButton2" CssClass="rsAdvEditSave">
<span><%# Container.Appointment.Owner.Localization.Save%></span>
</asp:LinkButton>
<asp:LinkButton runat="server" ID="LinkButton3" CssClass="rsAdvEditCancel" CommandName="Cancel"
CausesValidation="false">
<span><%# Container.Appointment.Owner.Localization.Cancel%></span>
</asp:LinkButton>
</div>
</asp:Panel>
</div>
</div>
</AdvancedInsertTemplate>
Now in all cases, I would prefer a telerik RadComboBox in place of the DropDownList for the Patients selection as I can allow the user to type the patient's name and get an item back, but the damn thing won't bind.If I use the RadComboBox here, the markup errors while creating the form saying that there is no data source for the list.Here's my binding code:
protected void RadScheduler_FormCreated(object sender, SchedulerFormCreatedEventArgs e)
{
if (e.Container.Mode == SchedulerFormMode.AdvancedEdit || e.Container.Mode == SchedulerFormMode.AdvancedInsert)
{
var doctorsDropdown = e.Container.FindControl("DoctorsList") as DropDownList;
_doctorsList = doctorsDropdown;
var patientsDropdown = e.Container.FindControl("PatientsList") as DropDownList;
_patientsList = patientsDropdown;
DoInitialBindings(doctorsDropdown, patientsDropdown);
e.Appointment.End = e.Appointment.Start.AddHours(1);
}
}
private void DoInitialBindings(DropDownList doctorsList, DropDownList patientsList)
{
var doctorHelper = new DoctorsHelper();
var doctorItems = new List<DoctorsViewModel>();
var patientHelper = new PatientsHelper();
var patientItems = new List<PatientsViewModel>();
// Gets all the doctors and patients relevant to the Medical Practice
// where the user is a receptionist.
if (Roles.IsUserInRole(nameof(UserRole.Receptionist)))
{
int.TryParse(Request.Cookies["lcyduh"]["practice"], out int practiceId);
doctorItems = doctorHelper.ListItemsForParent(practiceId);
foreach (var doctor in doctorItems)
{
patientItems.Add(patientHelper.ListItemsForDoctor(doctor.Id));
}
}
doctorsList.DataSource = doctorItems;
doctorsList.DataTextField = "Name";
doctorsList.DataValueField = "Id";
doctorsList.DataBind();
patientsList.DataSource = patientItems;
patientsList.DataTextField = "Firstname"; // Firstname and Lastname fields are concatenated into the Firstname field by the helper function that retrieves the data.
patientsList.DataValueField = "Id";
patientsList.DataBind();
}
Hello,
I have the advanced template setup like so in the radscheduler:
<AdvancedEditTemplate>
<div class="card" style="padding:10px" >
<div class="card-header corpsnet_panelPrimary" style="padding:10px">
<strong><h4><asp:Label ID="lblTitle" runat="server" Text='<%# Bind("RosterDateStringLong") %>' ></asp:Label></h4></strong>
</div>
<div class="card-body smallscreensection" style="padding:10px">
<div class="container">
<div class="row">
<div class="col-md-4" >
CREW:</h5>
</div>
<div class="col-md-8" >
<h5 class="card-title"><asp:Label ID="lblCrew" runat="server" Text='<%# Bind("CrewName") %>' ></asp:Label></h5>
</div>
</div>
<div class="row">
<div class="col-md-4" >
<h5>SUPERVISOR:</h5>
</div>
<div class="col-md-8" >
<h5 class="card-title"><asp:Label ID="Label1" runat="server" Text='<%# Bind("SupervisorUserProfileName") %>' ></asp:Label></h5>
</div>
</div>
<div class="row">
<div class="col-md-4" >
<h5>MEETING POINT (Click for directions):
</div>
<div class="col-md-8" >
<h5 class="card-title-link"><asp:HyperLink runat="server" ID="hyplnkMeetingPoint" Target="_blank" Text='<%# Bind("MeetingPointDescription") %>' NavigateUrl='<%# Bind("MeetingPointURL") %>' ></asp:HyperLink></h5>
</div>
</div>
<div class="row">
<div class="col-md-4" >
<h5>MEETING/START TIME:
</div>
<div class="col-md-8" >
<h5 class="card-title"><asp:Label ID="lblStartTime" runat="server" Text='<%# Bind("StartTimeString") %>' ></asp:Label></h5>
</div>
</div>
<div class="row">
<div class="col-md-4" >
<h5>PROJECT:</h5>
</div>
<div class="col-md-8" >
<h5 class="card-title"><asp:Label ID="lblProject" runat="server" Text='<%# Bind("Project") %>' ></asp:Label></h5>
</div>
</div>
<div class="row">
<div class="col-md-12" >
<asp:Button ID="btnClose" CssClass="btn btn-primary" runat="server" Text="Close" OnClientClick="closeEditForm(); return false;" />
</div>
</div>
</div>
</div>
</div>
</AdvancedEditTemplate>
I want the close button to revert to the weekview from the edit form. I can get the form to close but it's then blank. How do I show the radscheduler weekview view again on close. here is my closeEditForm javascript function
function closeEditForm() {
var scheduler = $find("<%= RadScheduler1.ClientID %>");
scheduler.hideAdvancedForm();
// Switch the view to Month View
scheduler.set_selectedView(Telerik.Web.UI.SchedulerViewType.MonthView);
scheduler.navigateToDate(new Date()); // Optional: Navigate to today's date
return false;
}
Hi Team
We have removed the AjaxControlToolkit reference as it is no longer required from our solution. However, one file, where no changes were made, is now breaking, after we removed the AjaxControlToolkit package. This file uses the Telerik RadCalendar control and is breaking during initialization.
Interestingly, the error disappears when the AjaxControlToolkit package is re-added. The following error is noticed when toolkit package is removed ,
Uncaught TypeError: Cannot read properties of undefined (reading '_events')
at Sys.UI.DomEvent.addHandler (Telerik.Web.UI.WebResource.axd?_TSM_HiddenField_=ctl00_rsmMain_TSM&compress=1&_TSM_CombinedScripts_=%3b%3bSystem.Web.Extensions%2c+Version%3d4.0.0.0%2c+Culture%3dneutral%2c+PublicKeyToken%3d31bf3856ad364e35%3aen-US%3a4533c2d0-c52e-4b49-a697-806d77e9914d%3aea597d4b%3ab25378d2%3bTelerik.Web.UI%2c+Version%3d2021.3.1111.40%2c+Culture%3dneutral%2c+PublicKeyToken%3d121fae78165ba3d4%3aen-US%3abcb430ee-771a-4d39-a6d4-3550d81a8d67%3a16e4e7cd%3a365331c3%3a88144a7a%3aed16cbdc%3a24ee1bba%3ab2e06756%3a92fe8ea0%3afa31b949%3ac128760b%3a19620875%3a874f8ea2%3af46195d3%3a4877f69a%3a33715776%3a490a9d4e%3abd8f85e4%3a58366029%3a2003d0b8%3a1e771326%3aaa288e2d%3a258f1c72%3ae330518b%3ac8618e41%3ae4f8f289%3a1a73651d%3a333f8d94:6:57366)
at Telerik.Web.UI.RadCalendar.initialize (Telerik.Web.UI.WebResource.axd?_TSM_HiddenField_=ctl00_rsmMain_TSM&compress=1&_TSM_CombinedScripts_=%3b%3bTelerik.Web.UI%2c+Version%3d2021.3.1111.40%2c+Culture%3dneutral%2c+PublicKeyToken%3d121fae78165ba3d4%3aen-US%3abcb430ee-771a-4d39-a6d4-3550d81a8d67%3a59462f1%3aa51ee93e:109:8)
at Telerik.Web.UI.RadCalendar.endUpdate (Telerik.Web.UI.WebResource.axd?_TSM_HiddenField_=ctl00_rsmMain_TSM&compress=1&_TSM_CombinedScripts_=%3b%3bSystem.Web.Extensions%2c+Version%3d4.0.0.0%2c+Culture%3dneutral%2c+PublicKeyToken%3d31bf3856ad364e35%3aen-US%3a4533c2d0-c52e-4b49-a697-806d77e9914d%3aea597d4b%3ab25378d2%3bTelerik.Web.UI%2c+Version%3d2021.3.1111.40%2c+Culture%3dneutral%2c+PublicKeyToken%3d121fae78165ba3d4%3aen-US%3abcb430ee-771a-4d39-a6d4-3550d81a8d67%3a16e4e7cd%3a365331c3%3a88144a7a%3aed16cbdc%3a24ee1bba%3ab2e06756%3a92fe8ea0%3afa31b949%3ac128760b%3a19620875%3a874f8ea2%3af46195d3%3a4877f69a%3a33715776%3a490a9d4e%3abd8f85e4%3a58366029%3a2003d0b8%3a1e771326%3aaa288e2d%3a258f1c72%3ae330518b%3ac8618e41%3ae4f8f289%3a1a73651d%3a333f8d94:6:53689)
at Sys.Component.create (Telerik.Web.UI.WebResource.axd?_TSM_HiddenField_=ctl00_rsmMain_TSM&compress=1&_TSM_CombinedScripts_=%3b%3bSystem.Web.Extensions%2c+Version%3d4.0.0.0%2c+Culture%3dneutral%2c+PublicKeyToken%3d31bf3856ad364e35%3aen-US%3a4533c2d0-c52e-4b49-a697-806d77e9914d%3aea597d4b%3ab25378d2%3bTelerik.Web.UI%2c+Version%3d2021.3.1111.40%2c+Culture%3dneutral%2c+PublicKeyToken%3d121fae78165ba3d4%3aen-US%3abcb430ee-771a-4d39-a6d4-3550d81a8d67%3a16e4e7cd%3a365331c3%3a88144a7a%3aed16cbdc%3a24ee1bba%3ab2e06756%3a92fe8ea0%3afa31b949%3ac128760b%3a19620875%3a874f8ea2%3af46195d3%3a4877f69a%3a33715776%3a490a9d4e%3abd8f85e4%3a58366029%3a2003d0b8%3a1e771326%3aaa288e2d%3a258f1c72%3ae330518b%3ac8618e41%3ae4f8f289%3a1a73651d%3a333f8d94:6:55151)
at <anonymous>:4:5
at Sys._Application.add_init (Telerik.Web.UI.WebResource.axd?_TSM_HiddenField_=ctl00_rsmMain_TSM&compress=1&_TSM_CombinedScripts_=%3b%3bSystem.Web.Extensions%2c+Version%3d4.0.0.0%2c+Culture%3dneutral%2c+PublicKeyToken%3d31bf3856ad364e35%3aen-US%3a4533c2d0-c52e-4b49-a697-806d77e9914d%3aea597d4b%3ab25378d2%3bTelerik.Web.UI%2c+Version%3d2021.3.1111.40%2c+Culture%3dneutral%2c+PublicKeyToken%3d121fae78165ba3d4%3aen-US%3abcb430ee-771a-4d39-a6d4-3550d81a8d67%3a16e4e7cd%3a365331c3%3a88144a7a%3aed16cbdc%3a24ee1bba%3ab2e06756%3a92fe8ea0%3afa31b949%3ac128760b%3a19620875%3a874f8ea2%3af46195d3%3a4877f69a%3a33715776%3a490a9d4e%3abd8f85e4%3a58366029%3a2003d0b8%3a1e771326%3aaa288e2d%3a258f1c72%3ae330518b%3ac8618e41%3ae4f8f289%3a1a73651d%3a333f8d94:6:67025)
at <anonymous>:1:17
at Sys._ScriptLoader._loadScriptsInternal (Telerik.Web.UI.WebResource.axd?_TSM_HiddenField_=ctl00_rsmMain_TSM&compress=1&_TSM_CombinedScripts_=%3b%3bSystem.Web.Extensions%2c+Version%3d4.0.0.0%2c+Culture%3dneutral%2c+PublicKeyToken%3d31bf3856ad364e35%3aen-US%3a4533c2d0-c52e-4b49-a697-806d77e9914d%3aea597d4b%3ab25378d2%3bTelerik.Web.UI%2c+Version%3d2021.3.1111.40%2c+Culture%3dneutral%2c+PublicKeyToken%3d121fae78165ba3d4%3aen-US%3abcb430ee-771a-4d39-a6d4-3550d81a8d67%3a16e4e7cd%3a365331c3%3a88144a7a%3aed16cbdc%3a24ee1bba%3ab2e06756%3a92fe8ea0%3afa31b949%3ac128760b%3a19620875%3a874f8ea2%3af46195d3%3a4877f69a%3a33715776%3a490a9d4e%3abd8f85e4%3a58366029%3a2003d0b8%3a1e771326%3aaa288e2d%3a258f1c72%3ae330518b%3ac8618e41%3ae4f8f289%3a1a73651d%3a333f8d94:15:4736)
at Sys._ScriptLoader._loadScriptsInternal (Telerik.Web.UI.WebResource.axd?_TSM_HiddenField_=ctl00_rsmMain_TSM&compress=1&_TSM_CombinedScripts_=%3b%3bSystem.Web.Extensions%2c+Version%3d4.0.0.0%2c+Culture%3dneutral%2c+PublicKeyToken%3d31bf3856ad364e35%3aen-US%3a4533c2d0-c52e-4b49-a697-806d77e9914d%3aea597d4b%3ab25378d2%3bTelerik.Web.UI%2c+Version%3d2021.3.1111.40%2c+Culture%3dneutral%2c+PublicKeyToken%3d121fae78165ba3d4%3aen-US%3abcb430ee-771a-4d39-a6d4-3550d81a8d67%3a16e4e7cd%3a365331c3%3a88144a7a%3aed16cbdc%3a24ee1bba%3ab2e06756%3a92fe8ea0%3afa31b949%3ac128760b%3a19620875%3a874f8ea2%3af46195d3%3a4877f69a%3a33715776%3a490a9d4e%3abd8f85e4%3a58366029%3a2003d0b8%3a1e771326%3aaa288e2d%3a258f1c72%3ae330518b%3ac8618e41%3ae4f8f289%3a1a73651d%3a333f8d94:15:4794)
at Sys._ScriptLoader._loadScriptsInternal (Telerik.Web.UI.WebResource.axd?_TSM_HiddenField_=ctl00_rsmMain_TSM&compress=1&_TSM_CombinedScripts_=%3b%3bSystem.Web.Extensions%2c+Version%3d4.0.0.0%2c+Culture%3dneutral%2c+PublicKeyToken%3d31bf3856ad364e35%3aen-US%3a4533c2d0-c52e-4b49-a697-806d77e9914d%3aea597d4b%3ab25378d2%3bTelerik.Web.UI%2c+Version%3d2021.3.1111.40%2c+Culture%3dneutral%2c+PublicKeyToken%3d121fae78165ba3d4%3aen-US%3abcb430ee-771a-4d39-a6d4-3550d81a8d67%3a16e4e7cd%3a365331c3%3a88144a7a%3aed16cbdc%3a24ee1bba%3ab2e06756%3a92fe8ea0%3afa31b949%3ac128760b%3a19620875%3a874f8ea2%3af46195d3%3a4877f69a%3a33715776%3a490a9d4e%3abd8f85e4%3a58366029%3a2003d0b8%3a1e771326%3aaa288e2d%3a258f1c72%3ae330518b%3ac8618e41%3ae4f8f289%3a1a73651d%3a333f8d94:15:4794)
The corresponding ajax and vb file is uploaded here for review.
Hi,
Been using Telerik UI for ASP.NET AJAX from 2012.
This year we decided to update to newer version.
When we started using the newer version we started having some layout related problems.
We have not made any changes to our code between updating the Telerik package.
When creating an appointment in scheduler we have added three custom attributes, BookedBy, Created and Temperatur.
The three attributes are shown but they show the property name instead of the custom label we have set for the control as shown in third picture.
First picture shows how the GUI have looked so far.
Second picture shows how the GUI looks after changing to the newer version.
Third and fourth pictures are screen dumps of the code.
Thanks in advance for any help you can give.
Edit
I realize my initial post wasn't very clear on my question.
My question is how to get the label of the custom attributes in
the appointment window, to be different from the names given in the telerik:Radscheduler tag.
In the older version of telerik package you could override the label shown in the appointment window.
In earlier version of telerik UI package this was done in the function you set in onformedcreated parameter of telerik:Radscheduler tag,
get the control linked to the custom attribute using following code:
RadTextBox CreatedByTextbox = (RadTextBox)e.Container.FindControl("AttrBookedBy");
and then change the label shown by changing the label of the control:
CreatedByTextbox.Label = "Skapad av:";
However in newer version of telerik UI package this doesn't seem to give the same behavior any more.
In my example I want the custom attribute BookedBy label in appointment window to be shown as "Skapad av:", how would I go about getting this behavior?
Two issues on the RadScheduler Weekview column header:
Thanks,
Marc
Hi Telerik Team,
One of our requirements is to keep the timeline column header fixed during vertical scrolling when there are numerous records displayed that extend beyond the default view. This feature is essential for improving user navigation and readability.
The following picture depicts the implementation.
The output.
Could you please advise if there is a method or configuration available to achieve this behavior within the Telerik RadScheduler component?
Regards,
Sathyendranath