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
Hi Guys
How to validate the following in the RadScheduler
I have a Webform with the RadScheduler and in the Popup form I the following dropdown list that I would like to be mandatory, user must select an item in order to continue saving the scheduler.
private void getReasons(int pReasonId) { // Create a new DataTable. DataTable dtReason = new DataTable("scheduler_reasons"); DataColumn dtColumn; // Create id column dtColumn = new DataColumn(); dtColumn.DataType = typeof(Int32); dtColumn.ColumnName = "ID"; dtColumn.Caption = "Reason ID"; dtColumn.ReadOnly = false; dtColumn.Unique = true; // Add column to the DataColumnCollection. dtReason.Columns.Add(dtColumn); // Create Name column. dtColumn = new DataColumn(); dtColumn.DataType = typeof(String); dtColumn.ColumnName = "calendar_reason"; dtColumn.Caption = "Calendar Reason"; dtColumn.AutoIncrement = false; dtColumn.ReadOnly = false; dtColumn.Unique = false; /// Add column to the DataColumnCollection. dtReason.Columns.Add(dtColumn); // Make id column the primary key column. DataColumn[] PrimaryKeyColumns = new DataColumn[1]; PrimaryKeyColumns[0] = dtReason.Columns["id"]; dtReason.PrimaryKey = PrimaryKeyColumns; // Create a new DataSet DataSet dtSet = new DataSet(); // Add custTable to the DataSet. dtSet.Tables.Add(dtReason); DataRow workRow = dtReason.NewRow(); workRow["ID"] = "1"; workRow["calendar_reason"] = "Day Off"; dtReason.Rows.Add(workRow); workRow = dtReason.NewRow(); workRow["ID"] = "2"; workRow["calendar_reason"] = "Jury Duty"; dtReason.Rows.Add(workRow); workRow = dtReason.NewRow(); workRow["ID"] = "3"; workRow["calendar_reason"] = "Sick Day"; dtReason.Rows.Add(workRow); workRow = dtReason.NewRow(); workRow["ID"] = "4"; workRow["calendar_reason"] = "Vacation"; dtReason.Rows.Add(workRow); //- Telerik Advanced Edit Form Telerik.Web.UI.ResourceType ResReasons = new Telerik.Web.UI.ResourceType("CaleReasons"); //- Telerik Advanced Edit Form Dropdownlist ResReasons.DataSource = dtReason; ResReasons.ForeignKeyField = "reasonId"; ResReasons.KeyField = "ID"; ResReasons.Name = "Reason"; ResReasons.TextField = "calendar_reason"; RadScheduler1.ResourceTypes.Add(ResReasons); }
Thank you for your help
Al