Instead of the RadScheduler's default edit form, i want to edit the apointment in my own form or rather use another page in my project which can be displayed like a popup in RadWindow. How to do this?
Thanks in Advance,
4 Answers, 1 is accepted
You can use the OnClientAppointmentEditing and OnClientAppointmentInserting events to replace the default edit form with one of your own.
- First you need to insert a RadScheduler into your desired page and bind it to a data source. Also Set its StartEditingInAdvancedForm property to False, so that the new custom edit form is not loaded unless the user clicks the "more" link.
- Drag a RadAjaxLoadingPanel from the toolbox onto your Web page. On the body of the loading panel, type the literal "Loading...".
- Drag a RadAjaxManager onto your Web page and choose "Configure Ajax Manager" from its smart tag. In the Property Builder, select the RadScheduler as a control that initiates a request and as the updated control by this request. Assign the RadAjaxLoadingPanel as the loading panel for this pair. Then select the RadAjaxManager as a control that initiates a request and select the RadScheduler as the updated control.
- Give the AJAX manager an AjaxRequest event handler to rebind the scheduler after an edit:
7.Drag a RadWindowManager onto your page and add a window to the RadWindowManager.
Set the ID property of the window to "AdvancedForm"
Set the Title property to "Edit an Appointment"
Set the ReloadOnShow property to True
Set the Modal property to True
Set the VisibleStatusBar property to False
Set the Behaviors property to "Close"
Set the OnClientClose property to the
refreshScheduler function causes the AJAX manager to trigger a rebind of
the scheduler to reflect
the changes made in the new edit form.
I'm trying to apply this technique in my site, but I have a doubt: How does advancedForm.aspx know in a recursive instance whether the whole series is edited or only a this particular instance?
An easy and convenient way of determining whether the user want to edit the current occurrence appointment only ( this will create an exception appointment) or edit the whole series is to use the get_editingRecurringSeries() method of the ClientAppointmentEditing client-side event arguments. Please review this help article in order to know how you can retrieve that value in the ClientAppointmentEditing client-side event.