I just had a catch-22 from production that I have no good answer for:
The user has a partial calendar (there are no month or year breaks, it's just an eternal scroll of weeks) displayed, each day of the calendar has a list of jobs that are scheduled for that day. Jobs may be dragged around subject to production and scheduling rules. Things are busy, most days are full.
A job had to be pushed back--and every date on the screen rejected it. The only place to find a valid drop target was farther down the list than the time it was showing. Reportedly (reproducing this on my system would be difficult but the reporter is competent) the scroll wheel would not work while they were in the middle of a drag.
Allowing them to alter the number of weeks being displayed runs a considerable risk of overflowing a cell and hiding the job they are trying to move. I could make each cell scrollable if need be but scrollable windows within a scrollable window does not strike me as user friendly and just screams focus issues.
The other answer that comes to mind is an option with a date prompt--which lacks the context of what's around the target and thus invites user errors.
How ugly a solution am I going to have to provide here?
(Admittedly, it would be hard to be as ugly as the quick fix of moving the offending job with SQL was!)