I'm trying to be able to hide and show a RadScheduler on demand. I'm fairly sure this is a client side scripting question.
The first problem I was having was hiding the scheduler on page load. It would hide ok, but when shown, it would be empty. I solved this by calling repaint() after showing its wrapper div.
Now the problem is even though its showing ok, appointments cannot be dragged and dropped.
Specifically, if the RadScheduler is hidden, and an Ajax call is made which rebinds the data, lets say an appointment is moved back two weeks, when the wrapper div is shown and the scheduler is repainted, it does show the appointment on the correct new date, however it is no longer dragable.
Is there another client side method I can call that will reenable dragging support?
Thanks,
The first problem I was having was hiding the scheduler on page load. It would hide ok, but when shown, it would be empty. I solved this by calling repaint() after showing its wrapper div.
Now the problem is even though its showing ok, appointments cannot be dragged and dropped.
Specifically, if the RadScheduler is hidden, and an Ajax call is made which rebinds the data, lets say an appointment is moved back two weeks, when the wrapper div is shown and the scheduler is repainted, it does show the appointment on the correct new date, however it is no longer dragable.
Is there another client side method I can call that will reenable dragging support?
Thanks,
<
asp:Content
ID
=
"Content1"
ContentPlaceHolderID
=
"cphHead"
Runat
=
"Server"
>
<
script
type
=
"text/javascript"
>
var rsEvents = null;
var rgEvents = null;
var rsPastEvents = null;
var rgPastEvents = null;
function onResponseEnd(sender, args) {
if (args.EventTarget.replace(/\$/g, '_') == rgEvents.ClientID || args.EventTarget == rgPastEvents.ClientID) {
$('#schedEvents').data('nr', true);
$('#schedPastEvents').data('nr', true);
}
}
$(document).ready(function () {
$('#evtCalBtn').click(function () {
$('#schedEvents').toggle('blind', {}, 500, null);
if ($('#schedEvents').data('nr') == true) {
rsEvents.repaint();
rsEvents.rebind();
}
});
$('#pastEvtCalBtn').click(function () {
$('#schedPastEvents').toggle('blind', {}, 500, null);
if ($('#schedPastEvents').data('nr') == true) {
rsPastEvents.repaint();
rsEvents.rebind();
}
});
});
$(window).load(function () {
$('#schedEvents').hide();
$('#schedPastEvents').hide();
rsEvents = $find('<%= rsEvents.ClientID %>');
rgEvents = $find('<%= rgEvents.ClientID %>');
rsPastEvents = $find('<%= rsPastEvents.ClientID %>');
rgPastEvents = $find('<%= rgPastEvents.ClientID %>');
$('#schedEvents').data('nr', false);
$('#schedPastEvents').data('nr', false);
});
</
script
>
</
asp:Content
>
<
asp:Content
ID
=
"Content2"
ContentPlaceHolderID
=
"cphBody"
Runat
=
"Server"
>
<
div
>
<
div
class
=
"acnt"
>
<
p
>Upcoming Events <
span
id
=
"evtCalBtn"
class
=
"viewCalender"
>(View Calendar)</
span
></
p
>
<
telerik:RadAjaxManager
ID
=
"RadAjaxManager1"
runat
=
"server"
>
<
AjaxSettings
>
<
telerik:AjaxSetting
AjaxControlID
=
"rgEvents"
>
<
UpdatedControls
>
<
telerik:AjaxUpdatedControl
ControlID
=
"rsEvents"
UpdatePanelHeight
=
""
/>
<
telerik:AjaxUpdatedControl
ControlID
=
"rgPastEvents"
UpdatePanelHeight
=
""
/>
<
telerik:AjaxUpdatedControl
ControlID
=
"rsPastEvents"
UpdatePanelHeight
=
""
/>
</
UpdatedControls
>
</
telerik:AjaxSetting
>
<
telerik:AjaxSetting
AjaxControlID
=
"rsEvents"
>
<
UpdatedControls
>
<
telerik:AjaxUpdatedControl
ControlID
=
"rgEvents"
UpdatePanelHeight
=
""
/>
<
telerik:AjaxUpdatedControl
ControlID
=
"rgPastEvents"
UpdatePanelHeight
=
""
/>
<
telerik:AjaxUpdatedControl
ControlID
=
"rsPastEvents"
UpdatePanelHeight
=
""
/>
</
UpdatedControls
>
</
telerik:AjaxSetting
>
<
telerik:AjaxSetting
AjaxControlID
=
"rgPastEvents"
>
<
UpdatedControls
>
<
telerik:AjaxUpdatedControl
ControlID
=
"rgEvents"
UpdatePanelHeight
=
""
/>
<
telerik:AjaxUpdatedControl
ControlID
=
"rsEvents"
UpdatePanelHeight
=
""
/>
<
telerik:AjaxUpdatedControl
ControlID
=
"rsPastEvents"
UpdatePanelHeight
=
""
/>
</
UpdatedControls
>
</
telerik:AjaxSetting
>
<
telerik:AjaxSetting
AjaxControlID
=
"rsPastEvents"
>
<
UpdatedControls
>
<
telerik:AjaxUpdatedControl
ControlID
=
"rgEvents"
UpdatePanelHeight
=
""
/>
<
telerik:AjaxUpdatedControl
ControlID
=
"rsEvents"
UpdatePanelHeight
=
""
/>
<
telerik:AjaxUpdatedControl
ControlID
=
"rgPastEvents"
UpdatePanelHeight
=
""
/>
</
UpdatedControls
>
</
telerik:AjaxSetting
>
</
AjaxSettings
>
<
ClientEvents
OnResponseEnd
=
"onResponseEnd"
/>
</
telerik:RadAjaxManager
>
<
telerik:RadGrid
ID
=
"rgEvents"
runat
=
"server"
AllowSorting
=
"True"
AutoGenerateColumns
=
"False"
DataSourceID
=
"sqldsEvents"
GridLines
=
"None"
Skin
=
"Windows7"
onitemcommand
=
"rgEvents_ItemCommand"
AllowPaging
=
"True"
>
<
MasterTableView
DataKeyNames
=
"EventID"
DataSourceID
=
"sqldsEvents"
>
<
CommandItemSettings
ExportToPdfText
=
"Export to Pdf"
></
CommandItemSettings
>
<
Columns
>
<
telerik:GridBoundColumn
DataField
=
"EventID"
DataType
=
"System.Int32"
HeaderText
=
"EventID"
ReadOnly
=
"True"
SortExpression
=
"EventID"
UniqueName
=
"EventID"
Visible
=
"False"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"StartDT"
DataFormatString
=
"{0:MM-dd-yyyy}"
DataType
=
"System.DateTime"
HeaderText
=
"StartDT"
SortExpression
=
"Date"
UniqueName
=
"StartDT"
>
<
HeaderStyle
Width
=
"60px"
/>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"EventName"
HeaderText
=
"EventName"
SortExpression
=
"Event"
UniqueName
=
"EventName"
>
<
HeaderStyle
Width
=
"100%"
/>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"Seats"
DataType
=
"System.Int32"
HeaderText
=
"Seats"
SortExpression
=
"# Seats"
UniqueName
=
"Seats"
>
<
HeaderStyle
Width
=
"40px"
/>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"SeatsLeft"
DataType
=
"System.Int32"
HeaderText
=
"SeatsLeft"
ReadOnly
=
"True"
SortExpression
=
"# Left"
UniqueName
=
"SeatsLeft"
>
<
HeaderStyle
Width
=
"40px"
/>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"Cost"
DataFormatString
=
"{0:$#,0.00}"
DataType
=
"System.Decimal"
HeaderText
=
"Cost"
SortExpression
=
"Cost"
UniqueName
=
"Cost"
>
<
HeaderStyle
Width
=
"60px"
/>
</
telerik:GridBoundColumn
>
<
telerik:GridHyperLinkColumn
AllowFiltering
=
"False"
Groupable
=
"False"
Reorderable
=
"False"
Resizable
=
"False"
ShowSortIcon
=
"False"
Target
=
"_blank"
Text
=
"View"
UniqueName
=
"colView"
DataNavigateUrlFields
=
"EventID"
DataNavigateUrlFormatString
=
"../../events.aspx?id={0}"
>
<
ItemStyle
Font-Size
=
"7pt"
/>
</
telerik:GridHyperLinkColumn
>
<
telerik:GridButtonColumn
CommandName
=
"Delete"
Text
=
"Delete"
UniqueName
=
"colDelete"
ConfirmText
=
"Are you sure you want to cancel this event? You should send an email notiying them of the cancelation before continuing."
ConfirmTitle
=
"Question"
>
<
ItemStyle
Font-Size
=
"7pt"
/>
</
telerik:GridButtonColumn
>
<
telerik:GridButtonColumn
CommandName
=
"Email"
Text
=
"Email"
UniqueName
=
"colEmail"
>
<
ItemStyle
Font-Size
=
"7pt"
/>
</
telerik:GridButtonColumn
>
<
telerik:GridButtonColumn
CommandName
=
"Copy"
Text
=
"Copy"
UniqueName
=
"colCopy"
>
<
ItemStyle
Font-Size
=
"7pt"
/>
</
telerik:GridButtonColumn
>
<
telerik:GridButtonColumn
CommandName
=
"Manage"
Text
=
"Manage"
UniqueName
=
"colManage"
>
<
ItemStyle
Font-Size
=
"7pt"
/>
</
telerik:GridButtonColumn
>
</
Columns
>
</
MasterTableView
>
</
telerik:RadGrid
>
<
div
id
=
"schedEvents"
style
=
"display: block"
>
<
telerik:RadScheduler
runat
=
"server"
ID
=
"rsEvents"
Height
=
"580px"
Width
=
"100%"
SelectedView
=
"MonthView"
ShowViewTabs
=
"False"
ShowNavigationPane
=
"True"
DataEndField
=
"EndDT"
DataKeyField
=
"EventID"
DataSourceID
=
"sqldsEvents"
DataStartField
=
"StartDT"
DataSubjectField
=
"EventName"
Skin
=
"Windows7"
onappointmentupdate
=
"rsEvents_AppointmentUpdate"
EnableAdvancedForm
=
"False"
onappointmentdelete
=
"rsEvents_AppointmentDelete"
Localization-ConfirmDeleteTitle
=
"Question"
Localization-ConfirmDeleteText
=
"Are you sure you want to cancel this event? You should send an email notiying them of the cancelation before continuing."
onappointmentcontextmenuitemclicked
=
"rsEvents_AppointmentContextMenuItemClicked"
AllowInsert
=
"False"
StartEditingInAdvancedForm
=
"False"
ontimeslotcontextmenuitemclicked
=
"rsEvents_TimeSlotContextMenuItemClicked"
>
<
AdvancedForm
Modal
=
"true"
Enabled
=
"False"
/>
<
Localization
ConfirmDeleteTitle
=
"Question"
ConfirmDeleteText
=
"Are you sure you want to cancel this event? You should send an email notiying them of the cancelation before continuing."
></
Localization
>
<
TimeSlotContextMenuSettings
EnableDefault
=
"true"
/>
<
AppointmentContextMenus
>
<
telerik:RadSchedulerContextMenu
ID
=
"RadSchedulerContextMenu1"
runat
=
"server"
>
<
Items
>
<
telerik:RadMenuItem
runat
=
"server"
Text
=
"View"
Value
=
"View"
>
</
telerik:RadMenuItem
>
<
telerik:RadMenuItem
runat
=
"server"
Text
=
"Delete"
Value
=
"CommandDelete"
>
</
telerik:RadMenuItem
>
<
telerik:RadMenuItem
runat
=
"server"
Text
=
"Email"
Value
=
"Email"
>
</
telerik:RadMenuItem
>
<
telerik:RadMenuItem
runat
=
"server"
Text
=
"Copy"
Value
=
"Copy"
>
</
telerik:RadMenuItem
>
<
telerik:RadMenuItem
runat
=
"server"
Text
=
"Manage"
Value
=
"Manage"
>
</
telerik:RadMenuItem
>
</
Items
>
</
telerik:RadSchedulerContextMenu
>
<
telerik:RadSchedulerContextMenu
ID
=
"RadSchedulerContextMenu2"
runat
=
"server"
>
</
telerik:RadSchedulerContextMenu
>
</
AppointmentContextMenus
>
</
telerik:RadScheduler
>
</
div
>
<
br
/>
<
p
>Templates</
p
>
<
asp:UpdatePanel
ID
=
"upTemplates"
runat
=
"server"
UpdateMode
=
"Conditional"
>
<
ContentTemplate
>
<
telerik:RadGrid
ID
=
"rgTemplates"
runat
=
"server"
AllowSorting
=
"True"
AutoGenerateColumns
=
"False"
DataSourceID
=
"sqldsTemplates"
GridLines
=
"None"
Skin
=
"Windows7"
onitemcommand
=
"rgTemplates_ItemCommand"
AllowPaging
=
"True"
>
<
MasterTableView
DataKeyNames
=
"EventID"
DataSourceID
=
"sqldsTemplates"
>
<
CommandItemSettings
ExportToPdfText
=
"Export to Pdf"
></
CommandItemSettings
>
<
Columns
>
<
telerik:GridBoundColumn
DataField
=
"EventID"
DataType
=
"System.Int32"
HeaderText
=
"EventID"
ReadOnly
=
"True"
SortExpression
=
"EventID"
UniqueName
=
"EventID"
Visible
=
"False"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"EventName"
HeaderText
=
"EventName"
SortExpression
=
"Event"
UniqueName
=
"EventName"
>
<
HeaderStyle
Width
=
"100%"
/>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"Seats"
DataType
=
"System.Int32"
HeaderText
=
"Seats"
SortExpression
=
"# Seats"
UniqueName
=
"Seats"
>
<
HeaderStyle
Width
=
"40px"
/>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"Cost"
DataFormatString
=
"{0:$#,0.00}"
DataType
=
"System.Decimal"
HeaderText
=
"Cost"
SortExpression
=
"Cost"
UniqueName
=
"Cost"
>
<
HeaderStyle
Width
=
"60px"
/>
</
telerik:GridBoundColumn
>
<
telerik:GridButtonColumn
CommandName
=
"Delete"
Text
=
"Delete"
UniqueName
=
"colDelete"
ConfirmText
=
"Are you sure you want to cancel this event? You should send an email notiying them of the cancelation before continuing."
ConfirmTitle
=
"Question"
>
<
ItemStyle
Font-Size
=
"7pt"
/>
</
telerik:GridButtonColumn
>
<
telerik:GridButtonColumn
CommandName
=
"Copy"
Text
=
"Copy"
UniqueName
=
"colCopy"
>
<
ItemStyle
Font-Size
=
"7pt"
/>
</
telerik:GridButtonColumn
>
<
telerik:GridButtonColumn
CommandName
=
"Manage"
Text
=
"Manage"
UniqueName
=
"colManage"
>
<
ItemStyle
Font-Size
=
"7pt"
/>
</
telerik:GridButtonColumn
>
</
Columns
>
</
MasterTableView
>
</
telerik:RadGrid
>
</
ContentTemplate
>
</
asp:UpdatePanel
>
<
br
/>
<
p
>Past Events <
span
id
=
"pastEvtCalBtn"
class
=
"viewCalender"
>(View Calendar)</
span
></
p
>
<
telerik:RadGrid
ID
=
"rgPastEvents"
runat
=
"server"
AllowSorting
=
"True"
AutoGenerateColumns
=
"False"
DataSourceID
=
"sqldsPastEvents"
GridLines
=
"None"
Skin
=
"Windows7"
onitemcommand
=
"rgPastEvents_ItemCommand"
AllowPaging
=
"True"
>
<
MasterTableView
DataKeyNames
=
"EventID"
DataSourceID
=
"sqldsPastEvents"
>
<
CommandItemSettings
ExportToPdfText
=
"Export to Pdf"
></
CommandItemSettings
>
<
Columns
>
<
telerik:GridBoundColumn
DataField
=
"EventID"
DataType
=
"System.Int32"
HeaderText
=
"EventID"
ReadOnly
=
"True"
SortExpression
=
"EventID"
UniqueName
=
"EventID"
Visible
=
"False"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"StartDT"
DataFormatString
=
"{0:MM-dd-yyyy}"
DataType
=
"System.DateTime"
HeaderText
=
"StartDT"
SortExpression
=
"Date"
UniqueName
=
"StartDT"
>
<
HeaderStyle
Width
=
"60px"
/>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"EventName"
HeaderText
=
"EventName"
SortExpression
=
"Event"
UniqueName
=
"EventName"
>
<
HeaderStyle
Width
=
"100%"
/>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"Seats"
DataType
=
"System.Int32"
HeaderText
=
"Seats"
SortExpression
=
"# Seats"
UniqueName
=
"Seats"
>
<
HeaderStyle
Width
=
"40px"
/>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"SeatsLeft"
DataType
=
"System.Int32"
HeaderText
=
"SeatsLeft"
ReadOnly
=
"True"
SortExpression
=
"# Left"
UniqueName
=
"SeatsLeft"
>
<
HeaderStyle
Width
=
"40px"
/>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"Cost"
DataFormatString
=
"{0:$#,0.00}"
DataType
=
"System.Decimal"
HeaderText
=
"Cost"
SortExpression
=
"Cost"
UniqueName
=
"Cost"
>
<
HeaderStyle
Width
=
"60px"
/>
</
telerik:GridBoundColumn
>
<
telerik:GridHyperLinkColumn
AllowFiltering
=
"False"
Groupable
=
"False"
Reorderable
=
"False"
Resizable
=
"False"
ShowSortIcon
=
"False"
Target
=
"_blank"
Text
=
"View"
UniqueName
=
"colView"
DataNavigateUrlFields
=
"EventID"
DataNavigateUrlFormatString
=
"../../events.aspx?id={0}"
>
<
ItemStyle
Font-Size
=
"7pt"
/>
</
telerik:GridHyperLinkColumn
>
<
telerik:GridButtonColumn
CommandName
=
"Delete"
Text
=
"Delete"
UniqueName
=
"colDelete"
ConfirmText
=
"Are you sure you want to cancel this event? You should send an email notiying them of the cancelation before continuing."
ConfirmTitle
=
"Question"
>
<
ItemStyle
Font-Size
=
"7pt"
/>
</
telerik:GridButtonColumn
>
<
telerik:GridButtonColumn
CommandName
=
"Email"
Text
=
"Email"
UniqueName
=
"colEmail"
>
<
ItemStyle
Font-Size
=
"7pt"
/>
</
telerik:GridButtonColumn
>
<
telerik:GridButtonColumn
CommandName
=
"Copy"
Text
=
"Copy"
UniqueName
=
"colCopy"
>
<
ItemStyle
Font-Size
=
"7pt"
/>
</
telerik:GridButtonColumn
>
<
telerik:GridButtonColumn
CommandName
=
"Manage"
Text
=
"Manage"
UniqueName
=
"colManage"
>
<
ItemStyle
Font-Size
=
"7pt"
/>
</
telerik:GridButtonColumn
>
</
Columns
>
</
MasterTableView
>
</
telerik:RadGrid
>
<
div
id
=
"schedPastEvents"
style
=
"display: block"
>
<
telerik:RadScheduler
runat
=
"server"
ID
=
"rsPastEvents"
Height
=
"580px"
Width
=
"100%"
SelectedView
=
"MonthView"
ShowViewTabs
=
"False"
ShowNavigationPane
=
"True"
DataEndField
=
"EndDT"
DataKeyField
=
"EventID"
DataSourceID
=
"sqldsPastEvents"
DataStartField
=
"StartDT"
DataSubjectField
=
"EventName"
Skin
=
"Windows7"
onappointmentupdate
=
"rsPastEvents_AppointmentUpdate"
EnableAdvancedForm
=
"False"
onappointmentdelete
=
"rsPastEvents_AppointmentDelete"
Localization-ConfirmDeleteTitle
=
"Question"
Localization-ConfirmDeleteText
=
"Are you sure you want to cancel this event? You should send an email notiying them of the cancelation before continuing."
onappointmentcontextmenuitemclicked
=
"rsPastEvents_AppointmentContextMenuItemClicked"
AllowInsert
=
"False"
StartEditingInAdvancedForm
=
"False"
ontimeslotcontextmenuitemclicked
=
"rsPastEvents_TimeSlotContextMenuItemClicked"
>
<
AdvancedForm
Modal
=
"true"
Enabled
=
"False"
/>
<
Localization
ConfirmDeleteTitle
=
"Question"
ConfirmDeleteText
=
"Are you sure you want to cancel this event? You should send an email notiying them of the cancelation before continuing."
></
Localization
>
<
TimeSlotContextMenuSettings
EnableDefault
=
"true"
/>
<
AppointmentContextMenus
>
<
telerik:RadSchedulerContextMenu
ID
=
"RadSchedulerContextMenu3"
runat
=
"server"
>
<
Items
>
<
telerik:RadMenuItem
runat
=
"server"
Text
=
"View"
Value
=
"View"
>
</
telerik:RadMenuItem
>
<
telerik:RadMenuItem
runat
=
"server"
Text
=
"Delete"
Value
=
"CommandDelete"
>
</
telerik:RadMenuItem
>
<
telerik:RadMenuItem
runat
=
"server"
Text
=
"Email"
Value
=
"Email"
>
</
telerik:RadMenuItem
>
<
telerik:RadMenuItem
runat
=
"server"
Text
=
"Copy"
Value
=
"Copy"
>
</
telerik:RadMenuItem
>
<
telerik:RadMenuItem
runat
=
"server"
Text
=
"Manage"
Value
=
"Manage"
>
</
telerik:RadMenuItem
>
</
Items
>
</
telerik:RadSchedulerContextMenu
>
<
telerik:RadSchedulerContextMenu
ID
=
"RadSchedulerContextMenu4"
runat
=
"server"
>
</
telerik:RadSchedulerContextMenu
>
</
AppointmentContextMenus
>
</
telerik:RadScheduler
>
</
div
>
</
div
>
</
div
>