We have noticed that when you choose 'Yearly' in the recurrence editor that the text 'Recur every' shows up twice in the editor. If you change it to 'Monthly' or any other type of recurrence, this does not happen, and the text only shows up once.
The issue can be replicated in Binding to Generic List live demo.
WORKAROUND approved by ADMIN: Set the LocalizationPath in the code behind, e.g. in Page_Load event
Event log stack trace:
Anwendung: devenv.exe
Frameworkversion: v4.0.30319
Beschreibung: Der Prozess wurde aufgrund einer unbehandelten Ausnahme beendet.
Ausnahmeinformationen: System.NullReferenceException
bei Telerik.Web.LocalizationProvider+XmlResourceLocator.LoadResources(System.Globalization.CultureInfo)
bei Telerik.Web.LocalizationProvider+XmlResourceLocator..ctor(System.String, Telerik.Web.ILocalizableControl, System.String)
bei Telerik.Web.LocalizationProvider..ctor(System.String, Telerik.Web.ILocalizableControl, System.String)
bei Telerik.Web.UI.RadScheduler.get_Localization()
bei Telerik.Web.Design.RadSchedulerLocalization.Initialize()
bei Telerik.Web.Design.WizardTabControl.WizardForm_Load(System.Object, System.EventArgs)
bei System.Windows.Forms.Form.OnLoad(System.EventArgs)
bei System.Windows.Forms.Form.OnCreateControl()
bei System.Windows.Forms.Control.CreateControl(Boolean)
bei System.Windows.Forms.Control.CreateControl()
bei System.Windows.Forms.Control.WmShowWindow(System.Windows.Forms.Message ByRef)
bei System.Windows.Forms.Control.WndProc(System.Windows.Forms.Message ByRef)
bei System.Windows.Forms.ScrollableControl.WndProc(System.Windows.Forms.Message ByRef)
bei System.Windows.Forms.Form.WmShowWindow(System.Windows.Forms.Message ByRef)
bei System.Windows.Forms.Form.WndProc(System.Windows.Forms.Message ByRef)
bei System.Windows.Forms.Control+ControlNativeWindow.OnMessage(System.Windows.Forms.Message ByRef)
bei System.Windows.Forms.Control+ControlNativeWindow.WndProc(System.Windows.Forms.Message ByRef)
bei System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr, Int32, IntPtr, IntPtr)
When trying to drag and drop an appointment over the All Day slot, the ghost element is not positioned properly. This is easily observed when the browser is zoomed.
Replicated on the Overview demo
Hover over the command arrows on the radScheduler when the view is set to month view. The Tooltip will display "next day" and "previous day" instead of "next month" and "previous month".
The same happens for week view.
Temporary workaround:
<telerik:RadCodeBlock runat="server">
<script>
function pageLoadHandler() {
var scheduler = $find("<%= RadScheduler1.ClientID %>");
var $scheduler = $telerik.$(scheduler.get_element());
var viewType = "Day";
if (scheduler.get_selectedView() == Telerik.Web.UI.SchedulerViewType.WeekView) {
viewType = "Week";
} else if (scheduler.get_selectedView() == Telerik.Web.UI.SchedulerViewType.MonthView) {
viewType = "Month";
}
$scheduler.find(".rsPrevDay").attr("title", "Previous " + viewType)
$scheduler.find(".rsNextDay").attr("title", "Next " + viewType)
// Sys.Application.remove_load(pageLoadHandler);
}
Sys.Application.add_load(pageLoadHandler);
</script>
</telerik:RadCodeBlock>
<
telerik:RadScheduler
RenderMode
=
"Lightweight"
Font-Size
=
"14px"
runat
=
"server"
ID
=
"RadScheduler1"
SelectedDate
=
"2012-04-16"
OnClientAppointmentClick
=
"OnClientAppointmentClick"
OnClientAppointmentResizeEnd
=
"OnClientAppointmentResizeEnd"
>
</
telerik:RadScheduler
>
<script>
function
OnClientAppointmentResizeEnd(sender, args) {
}
function
OnClientAppointmentClick(sender, args) {
alert(
"OnClientAppointmentClick"
)
}
</script>
private
const
string
ProviderSessionKey =
"Telerik.Web.Examples.Scheduler.XmlSchedulerProvider.DefaultCS"
;
// You can safely ignore this method.
// Its purpose is to limit the changes to the underlying data only to the active user session.
protected
void
Page_Init(
object
sender, EventArgs e)
{
Telerik.Web.UI.XmlSchedulerProvider provider;
if
((Session[ProviderSessionKey] ==
null
) || (!IsPostBack))
{
provider =
new
Telerik.Web.UI.XmlSchedulerProvider(Server.MapPath(
"~/App_Data/Appointments.xml"
),
true
);
Session[ProviderSessionKey] = provider;
}
else
{
provider = (Telerik.Web.UI.XmlSchedulerProvider)Session[ProviderSessionKey];
}
RadScheduler1.Provider = provider;
}
https://www.screencast.com/t/OQyCn2jM
https://www.screencast.com/t/KlQtYDOxl Workaround: var $ = $ || $telerik.$; var $T = Telerik.Web.UI; var $TS = $T.Scheduler, $TSR = $TS.Rendering, $DateTime = $TS.DateTime; var $SB = Telerik.Web.StringBuilder, timePerMinute = 60000, timePerHour = timePerMinute * 60, timePerDay = timePerHour * 24, daysInWeek = 7, roundedCornersHeight, anchorDateFormat = "yyyy-MM-dd"; $TSVM = Telerik.Web.UI.Scheduler.Views.Month; $TSVM.Model.prototype._createTimeSlot = function (rawIndex, startTime, element) { if (startTime.getHours() == 23) { startTime = $DateTime.add(startTime, 2 * timePerHour); } return new $TSVM.TimeSlot(rawIndex, startTime, element); } $TSVM.Model.prototype.getTimeSlotFromDomElement = function (domElement) { var rawIndex = this._getRawIndexFromDomElement(domElement), startTime = this._getTimeFromDomElement(domElement); if (startTime.getHours() == 23) { startTime = $DateTime.add(startTime, 2 * timePerHour); } return new $TSVM.TimeSlot(rawIndex, startTime, domElement); } Telerik.Web.UI.Scheduler.Rendering.MonthViewRenderer.prototype._updateColumnHeaders = function () { var renderer = this, dayHeaderDateFormat = this._model.get_dayHeaderDateFormat(), firstDayHeaderDateFormat = this._model.get_firstDayHeaderDateFormat(), currentMonth = renderer._owner.get_selectedDate().getMonth(), visibleRangeStart = renderer._model.get_visibleRangeStart(); $.each(this._contentTables, function () { var dateLabels = $("td div.rsDateWrap div.rsDateBox a", this), dayStart = visibleRangeStart, weekDayIndex = 0, weekStart = new Date(dayStart.getTime()); dateLabels.each(function () { var isFirstVisibleDateOfMonth = $DateTime.subtract(dayStart, visibleRangeStart) == 0 && dayStart.getMonth() == currentMonth; var dateHeaderText; if (renderer._owner._renderMode == $T.RenderMode.Mobile) { dateHeaderText = dayStart.getDate().toString(); } else if (dayStart.getDate() == 1 || isFirstVisibleDateOfMonth) { dateHeaderText = dayStart.localeFormat(firstDayHeaderDateFormat); } else { dateHeaderText = renderer._getFormattedDateText(dayStart, dayHeaderDateFormat); } this.href = "#" + dayStart.format(anchorDateFormat); this.innerHTML = dateHeaderText; this.title = dayStart.localeFormat(Sys.CultureInfo.CurrentCulture.dateTimeFormat.ShortDatePattern); var otherMonthCell = currentMonth != dayStart.getMonth(), dateWrapElement = this.parentNode.parentNode.parentNode; $(dateWrapElement).toggleClass('rsOtherMonth', otherMonthCell); if (weekDayIndex == renderer._weekLength - 1) { // Move to the next week, skipping invisible days. weekStart = $DateTime.add(weekStart, 7 * timePerDay); dayStart = new Date(weekStart.getTime()); weekDayIndex = 0; } else { dayStart = $DateTime.add(dayStart, timePerDay); weekDayIndex++; } if (dayStart.getHours() == 23) { dayStart = $DateTime.add(dayStart, 2 * timePerHour); } else if (dayStart.getHours() == 1) { dayStart = $DateTime.add(dayStart, -timePerHour); } if (weekStart.getHours() == 23) { weekStart = $DateTime.add(weekStart, 2 * timePerHour); } else if (weekStart.getHours() == 1) { weekStart = $DateTime.add(dayStart, -timePerHour); } // Wrappers are cleared here to avoid second // traversal of the cells. renderer._clearExtraWraps(dateWrapElement); }); }); }
There is a display issue when using the agenda view - if there are fewer than 4 events displayed then clicking on the date range in the header shows a calendar which is clipped at the bottom. Presumably this is due to it being constrained by the height of the events area. This occurs even though there is plenty of height available to the control. Please see the attached screenshot which is taken from your demo site: http://demos.telerik.com/aspnet-ajax/scheduler/examples/overview/defaultcs.aspx
The Button text initially shows "Never", even though the appointment has a different recurrence. https://www.screencast.com/t/55Rl1CSa7F7y