Mike Baldini
Top achievements
Rank 1
Mike Baldini
asked on 22 Jun 2010, 11:47 PM
Why is it that when there are more appointments than can be displayed on a single day, the month view does not have scroll bars to view the additional items.... but the timeline view does?
We absolutely love the way that the timeline view has scrollbars to see all the additional items. We are getting an absurd number of complaints from our customers about how the month view forces them into the day view just to see what appointments they have that day.
We deal with accountants, chiropractors, lawyers, and other service representatives that can have 20+ appointments per day. And they want to be able to see all those appointments on the month view without having to switch to different view types.
Is there any possible way we can get an option to display scroll bars on the month view when there are too many appointments to display on one day? This has really turned out to be a critical issue for us....
11 Answers, 1 is accepted
0
Hi Mike Baldini,
Thank you for contacting us.
The current RadScheduler functionality is actually Outlook's default - when the appointments cannot be fitted in a single cell in month view, a small arrow appears notifying the user that there are more appointments, which in turn takes the user to the respective day so that all can be reviewed at once. The day view does have a scrollbar which can be used to review the appointments, if needed.
We are trying to follow Outlook's usability standards, as it is the most used scheduling component in the world. In addition, it is our belief that the screen estate has to be optimized in such a way, that all days in a month are visible at all times, because this is the most optimal view when you are trying to review the tasks in a month.
You are not the first person to request this functionality, however, so we will really appreciate your further feedback on this since we plan to extend this functionality to suit your needs better. Would like to have a scrollbar in the day cell itself (i.e. all days in a month are always shown on the screen, and just the ones that have more events have scrollbars) , or would you prefer a single scroolbar for the whole month view (but not all days visible)? You can also review how Google Calendar takes care of this feature and share your feedback on it as well.
Thank you in advance.
All the best,
Dobry Zranchev
the Telerik team
Thank you for contacting us.
The current RadScheduler functionality is actually Outlook's default - when the appointments cannot be fitted in a single cell in month view, a small arrow appears notifying the user that there are more appointments, which in turn takes the user to the respective day so that all can be reviewed at once. The day view does have a scrollbar which can be used to review the appointments, if needed.
We are trying to follow Outlook's usability standards, as it is the most used scheduling component in the world. In addition, it is our belief that the screen estate has to be optimized in such a way, that all days in a month are visible at all times, because this is the most optimal view when you are trying to review the tasks in a month.
You are not the first person to request this functionality, however, so we will really appreciate your further feedback on this since we plan to extend this functionality to suit your needs better. Would like to have a scrollbar in the day cell itself (i.e. all days in a month are always shown on the screen, and just the ones that have more events have scrollbars) , or would you prefer a single scroolbar for the whole month view (but not all days visible)? You can also review how Google Calendar takes care of this feature and share your feedback on it as well.
Thank you in advance.
All the best,
Dobry Zranchev
the Telerik team
Do you want to have your say when we set our development plans?
Do you want to know when a feature you care about is added or when a bug fixed?
Explore the
Telerik Public Issue Tracking
system and vote to affect the priority of the items
0
Mike Baldini
Top achievements
Rank 1
answered on 28 Jun 2010, 06:07 PM
this Example Calendar is what our original calendar looked like before we switched to your controls. I authored this calendar using VB and GDI+ early last year. The area on the right of each month cell was reserved for the scroll bars to see more appointments per day.
We do agree that the all days in the month need to be visible at the same time. With the ability to scroll each day rather than the whole month, you can keep the entire month in view while allowing for the individual days to show more than 2 or 3 appointments.
One of the unique things that our clients use our calendar for is scheduling multiple people at the same time. The appointment descriptions show the start time followed by the staff (or Resource in your terms) initials, followed by the subject of the appointment. With this view (coupled with the ability to scroll individual days), scheduling managers are able to easily view where all their staff are at any given point.
Our beta testers did not like when we switched the standard month view to the 'MonthViewGroupedByResource' view. Their main complaint was that in order to have enough real estate for the appointments, they were only able to show 1 resource per view. With showing only 1 resource per view, they were forced to scroll back and forth to each resource to compare the calendars.
For our beta testers, we combined the calendar back into one calendar for all staff (or whatever staff they wanted via a 'select staff' dialog), and gave them a set of very powerful filters (filter by Contact, appointment type, location, color, etc). Even with all these enhancements and filters, our clients still said that they preferred our MS Access Calendars rather than the new ones.
0
Hi Mike Baldini,
Thank you for the feedback - we have updated your Telerik points for the feedback, and logged your vote for having scrollbars in the MonthView cells.
We will be happy to hear what the community has to say about this feature, so that we can settle on a single implementation.
Regards,
Dobry Zranchev
the Telerik team
Thank you for the feedback - we have updated your Telerik points for the feedback, and logged your vote for having scrollbars in the MonthView cells.
We will be happy to hear what the community has to say about this feature, so that we can settle on a single implementation.
Regards,
Dobry Zranchev
the Telerik team
Do you want to have your say when we set our development plans?
Do you want to know when a feature you care about is added or when a bug fixed?
Explore the
Telerik Public Issue Tracking
system and vote to affect the priority of the items
0
Ramius
Top achievements
Rank 1
answered on 30 Jun 2010, 11:11 PM
Hi Dobry,
i also want to vote for having scrollbars in the MonthView cells.
Regards,
Ramius
i also want to vote for having scrollbars in the MonthView cells.
Regards,
Ramius
0
Very well. We have created a new PITS entry for scrollbars in the month views. Please, vote for this here as well: 2611. You can also subscribe for notifications on this item.
Do not hesitate to contact us for further questions.
Sincerely yours,
Dobry Zranchev
the Telerik team
Do not hesitate to contact us for further questions.
Sincerely yours,
Dobry Zranchev
the Telerik team
Do you want to have your say when we set our development plans?
Do you want to know when a feature you care about is added or when a bug fixed?
Explore the
Telerik Public Issue Tracking
system and vote to affect the priority of the items
0
pramuuu
Top achievements
Rank 1
answered on 20 Apr 2011, 01:50 PM
i also want to vote for having scrollbars in the MonthView cells...
0
Hi pramuu,
In order to vote for this feature, please login to our site and visit the PITS item page. There you can vote, track or comment it. If it gets more votes, we may consider implementing it in some of the future releases.
I hope this helps.
All the best,
Ivan Todorov
the Telerik team
In order to vote for this feature, please login to our site and visit the PITS item page. There you can vote, track or comment it. If it gets more votes, we may consider implementing it in some of the future releases.
I hope this helps.
All the best,
Ivan Todorov
the Telerik team
Do you want to have your say when we set our development plans? Do you want to know when a feature you care about is added or when a bug fixed? Explore the Telerik Public Issue Tracking system and vote to affect the priority of the items
0
Andreas Haeusler
Top achievements
Rank 2
answered on 27 Feb 2014, 10:59 AM
Now that the scroll bars are available in the month view: How would one enable mousewheel - scolling?
Kind regards,
Andreas
Kind regards,
Andreas
0
Hello Andreas,
Thank you for contacting Telerik Support.
Currently, vertical scroll bar is available for the MonthCellElements. However, the mouse wheel will navigate you through the month days in the scheduler view. You can customize this behavior in order to implement scrolling of the MonthCellElements. Here is just a sample approach how to handle the MouseWheel event and stop the basic logic and implement your own. I would like to note that it is necessary to pay attention to finding the correct scroll bar:
Note that this is just a sample approach, which purpose is to demonstrates the approach and it may not cover all possible cases. Feel free to modify it on a way which suits your requirement best.
I hope this information helps. Should you have further questions, I would be glad to help.
Regards,
Desislava
Telerik
Thank you for contacting Telerik Support.
Currently, vertical scroll bar is available for the MonthCellElements. However, the mouse wheel will navigate you through the month days in the scheduler view. You can customize this behavior in order to implement scrolling of the MonthCellElements. Here is just a sample approach how to handle the MouseWheel event and stop the basic logic and implement your own. I would like to note that it is necessary to pay attention to finding the correct scroll bar:
public
partial
class
Form1 : Form
{
public
Form1()
{
InitializeComponent();
new
RadControlSpyForm().Show();
for
(
int
i = 0; i < 10; i++)
{
Appointment app =
new
Appointment(DateTime.Now, TimeSpan.FromMinutes(30),
"Sumamry"
+ i);
this
.radScheduler1.Appointments.Add(app);
}
this
.radScheduler1.MouseWheel += radScheduler1_MouseWheel;
}
private
void
radScheduler1_MouseWheel(
object
sender, MouseEventArgs e)
{
}
}
public
class
CustomScheduler : RadScheduler
{
public
override
string
ThemeClassName
{
get
{
return
typeof
(RadScheduler).FullName;
}
}
protected
override
void
OnMouseWheel(MouseEventArgs e)
{
List<SchedulerCellElement> cells = SchedulerUIHelper.GetSelectedCells(
this
);
MonthCellElement monthCell =
null
;
foreach
(SchedulerCellElement c
in
cells)
{
monthCell = c
as
MonthCellElement;
if
(monthCell !=
null
)
{
break
;
}
}
if
(monthCell !=
null
)
{
MonthViewAreaElement el = monthCell.Parent
as
MonthViewAreaElement;
//Here you should find the correct scrollbar
List<RadElement> scrollbars = el.GetDescendants(
delegate
(RadElement element)
{
return
element
is
RadScrollBarElement;
},
TreeTraversalMode.BreadthFirst);
foreach
(RadScrollBarElement scrollbar
in
scrollbars)
{
if
(monthCell.ControlBoundingRectangle.Y + monthCell.ControlBoundingRectangle.Height >= scrollbar.ControlBoundingRectangle.Y &&
monthCell.ControlBoundingRectangle.Y <= scrollbar.ControlBoundingRectangle.Y
)
{
if
(scrollbar !=
null
)
{
if
(e.Delta < 0)
{
scrollbar.PerformSmallIncrement(1);
}
else
{
scrollbar.PerformSmallDecrement(1);
}
}
break
;
}
}
return
;
}
base
.OnMouseWheel(e);
}
}
Note that this is just a sample approach, which purpose is to demonstrates the approach and it may not cover all possible cases. Feel free to modify it on a way which suits your requirement best.
I hope this information helps. Should you have further questions, I would be glad to help.
Regards,
Desislava
Telerik
0
Andreas Haeusler
Top achievements
Rank 2
answered on 05 Mar 2014, 10:52 AM
Thank you Desislava,
your code works once you click onto a monthviewarea and setting focus to that part of the Control.
As a quick hack i send a mouse click prior to your code - making the search for the correct scrollbar uneccessary.
Thanks again,
Andreas
your code works once you click onto a monthviewarea and setting focus to that part of the Control.
As a quick hack i send a mouse click prior to your code - making the search for the correct scrollbar uneccessary.
public class CustomScheduler : RadScheduler
{
private Stopwatch swPreventDoubleClick = new Stopwatch();
public override string ThemeClassName
{
get { return typeof (RadScheduler).FullName; }
}
#region DoMouseClick Import and Method
private const int MOUSEEVENTF_LEFTDOWN = 0x02;
private const int MOUSEEVENTF_LEFTUP = 0x04;
private const int MOUSEEVENTF_RIGHTDOWN = 0x08;
private const int MOUSEEVENTF_RIGHTUP = 0x10;
[DllImport("user32.dll", CharSet = CharSet.Auto, CallingConvention = CallingConvention.StdCall)]
public static extern void mouse_event(uint dwFlags, uint dx, uint dy, uint cButtons, uint dwExtraInfo);
public void DoMouseClick()
{
var X = Cursor.Position.X;
var Y = Cursor.Position.Y;
mouse_event(MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_LEFTUP, (uint) X, (uint) Y, 0, 0);
}
#endregion
protected override void OnMouseWheel(MouseEventArgs e)
{
if (!swPreventDoubleClick.IsRunning || swPreventDoubleClick.ElapsedMilliseconds > 500)
{
swPreventDoubleClick.Restart();
DoMouseClick();
}
List<
SchedulerCellElement
> cells = SchedulerUIHelper.GetSelectedCells(this);
MonthCellElement monthCell = null;
foreach (SchedulerCellElement c in cells)
{
monthCell = c as MonthCellElement;
if (monthCell != null) { break; }
}
if (monthCell != null)
{
var el = monthCell.Parent as MonthViewAreaElement;
if (el != null)
{
List<
RadElement
> scrollbars = el.GetDescendants(delegate(RadElement element) { return element is RadScrollBarElement; }, TreeTraversalMode.BreadthFirst);
foreach (RadScrollBarElement scrollbar in scrollbars)
{
if (monthCell.ControlBoundingRectangle.Y + monthCell.ControlBoundingRectangle.Height >= scrollbar.ControlBoundingRectangle.Y && monthCell.ControlBoundingRectangle.Y <= scrollbar.ControlBoundingRectangle.Y)
{
if (e.Delta < 0) { scrollbar.PerformSmallIncrement(1); }
else
{ scrollbar.PerformSmallDecrement(1); }
break;
}
}
}
return;
}
base.OnMouseWheel(e);
}
}
Thanks again,
Andreas
0
Hi Andreas,
I am glad that you were able to find a solution which meets your requirements.
Should you have further questions, do not hesitate to contact us.
Regards,
George
Telerik
I am glad that you were able to find a solution which meets your requirements.
Should you have further questions, do not hesitate to contact us.
Regards,
George
Telerik
DevCraft Q1'14 is here! Watch the online conference to see how this release solves your top-5 .NET challenges. Watch on demand now.