
Hi Telerik Team,
We are having the following requirement to display in our asp.net webform application. I were trying for Gantt view. But seems, it doesn't support multiple tasks to be shown in single line. Other option suggested is Rad Scheduler. As I am new to it, before going ahead with exploration, want to get confirmation that which control will suite our requirement. Please provide your feedback.
Thanks
Sathyendranath Pai
Sample requirement :
2 Answers, 1 is accepted
Hi Sathyendranath,
Based on the image you provided, your requirement involves displaying a schedule with multiple tasks (jobs) assigned to personnel across different time slots. The key points to note are:
- Multiple Tasks in a Single Line: Each person may have more than one task assigned at different times of the day, and these tasks need to be displayed in a single row for clarity.
- Time Slot Representation: The schedule needs to visually represent time slots for each task, including breaks.
Gantt View in ASP.NET
The Gantt chart is typically used to display tasks and their timelines. However, as you've noted, many Gantt chart controls do not support displaying multiple tasks in a single row (single resource). They tend to stack tasks vertically, which doesn't align with your need to have multiple tasks for a person (or resource) displayed on a single line.
RadScheduler in Telerik
Telerik's RadScheduler control for ASP.NET AJAX is a better fit for your requirements because:
- Multi-Event Support: RadScheduler supports displaying multiple events (tasks) for the same resource on a single line, which is essential for your use case.
- Time Slot Customization: It offers the flexibility to customize time slots, including adding breaks, which is visible in your current schedule.
- Resource Grouping: It allows grouping by resources (e.g., personnel) and displaying their schedule in a way that is easy to interpret.
- Styling & Customization: You can style the tasks with different colors, as seen in your schedule, making it easier to differentiate between tasks, breaks, and shifts.
Recommendation
Given your requirements and the capabilities of the RadScheduler, I recommend using RadScheduler for your ASP.NET web application. It will provide the necessary flexibility to display multiple tasks per resource within the same row, and it supports the kind of detailed scheduling you require.
Regards,
Rumen
Progress Telerik
Thank you Rumen for the quick response.
I have few more questions on Rad Scheduler.
(1) Is it possible to add the custom columns as shown in requirement (i.e. Shift, Personnel, Role ).
(2) Can the time be aligned horizontal rather than vertical. (all the examples have time displayed vertical).
(3) Is it possible to customize the Code, Columns, similar to what GanttCustomProvider do for fetching the data.
If yes, please provide an example link.
Regards
Sathyendranath
Hi Sathyendranath,
Regarding your inquiries about the RadScheduler:
Custom Columns:
- I am afraid that the custom column functionality is not supported with the RadScheduler and such column cannot be added and data bound out of the box. What you can try is utilizing Resource grouping in RadScheduler for the Shift, Personnel, Role. Resources in RadScheduler are used to categorize appointments. You can define multiple resource types and each appointment can be associated with one or more resources.
- More details on resources can be found here:
Horizontal Time Alignment:
- RadScheduler by default displays time slots in a vertical layout. However, for a horizontal layout, you might need to customize the control extensively or use a different approach. Currently, RadScheduler does not support a horizontal time alignment out of the box, but you might vote for its implementation in this feature request item - https://feedback.telerik.com/aspnet-ajax/1375349-vertical-calendar-grouping-scheduler-horizontal-time.
Custom Data Fetching:
- Similar to what you can achieve with a GanttCustomProvider in RadGantt, you can implement custom data fetching in RadScheduler by handling data operations manually. You would typically handle the
AppointmentDataBound
event to apply custom logic or fetch additional data. - Here’s a basic example of using the AppointmentDataBound event:
protected void RadScheduler1_AppointmentDataBound(object sender, SchedulerEventArgs e) { // Custom logic here }
- For more complex data operations, consider using RadScheduler's data binding features with a custom data source.
You can also take a look at the following resources:- https://docs.telerik.com/devtools/aspnet-ajax/controls/scheduler/data-binding/providers/using-a-data-provider
- https://docs.telerik.com/devtools/aspnet-ajax/controls/scheduler/data-binding/providers/implementing-a-provider
- https://docs.telerik.com/devtools/aspnet-ajax/controls/scheduler/data-binding/providers/implementing-a-provider-that-supports-multi-valued-resources
- Similar to what you can achieve with a GanttCustomProvider in RadGantt, you can implement custom data fetching in RadScheduler by handling data operations manually. You would typically handle the
Regards,
Rumen
Progress Telerik