This is a migrated thread and some comments may be shown as answers.

Bind Recurrence in Custom Advanced Form

10 Answers 128 Views
Scheduler
This is a migrated thread and some comments may be shown as answers.
Dan Lehmann
Top achievements
Rank 1
Dan Lehmann asked on 30 Jun 2011, 03:46 PM
Hello
I am studying how to make a custom advanced form here:  http://demos.telerik.com/aspnet-ajax/scheduler/examples/advancedformtemplate/defaultvb.aspx

I have a question about this part:
<scheduler:AdvancedForm runat="server" ID="AdvancedEditForm1" Mode="Edit"
     Subject='<%# Bind("Subject") %>'
     Description='<%# Bind("Description") %>'
     Start='<%# Bind("Start") %>'
     End='<%# Bind("End") %>'
     RecurrenceRuleText='<%# Bind("RecurrenceRule") %>'
    Reminder='<%# Bind("Reminder") %>'
     AppointmentColor='<%# Bind("AppointmentColor") %>'
     UserID='<%# Bind("User") %>'
     RoomID='<%# Bind("Room") %>' />

How is the RecurrenceParentID passed to the RadSchedulerRecurrenceEditor? Also, how is the primary key bound? (With the built in advance form it's DataKeyField="Schedule_id" for my RadScheduler)

Note: I am binding in my codebehind after every postback using an object based on this: http://www.telerik.com/help/aspnet-ajax/scheduler-using-datasource-property.html
So the binding in my codebehind is like:
Private Sub BindSchedule()
    Dim ds As List(Of objCRM.Schedule) = objCRM.Schedule.SelectScheduleByUser(Session("User_id"))
    Scheduler.DataSource = ds
    Scheduler.DataBind()
End Sub

Here is how my RadScheduler is currently defined:
<rad:RadScheduler runat="server" ID="Scheduler" Width="753px" Height="600px"
        EnableExactTimeRendering="true" StartEditingInAdvancedForm="true" StartInsertingInAdvancedForm="true"
        DataKeyField="Schedule_id" 
        DataStartField="Start"
        DataEndField="End"
        DataSubjectField="Subject"
        DataDescriptionField="Description"
        DataRecurrenceField="RecurrenceRule"
        DataReminderField="Reminder"
        DataRecurrenceParentKeyField="RecurrenceParentSchedule_id"
        AppointmentContextMenuSettings-EnableDefault="false"
        TimeSlotContextMenuSettings-EnableDefault="false"
        TimelineView-UserSelectable="false" >
    <AdvancedForm Modal="true" />
    <Reminders Enabled="True" />
</rad:RadScheduler>

Also I'm using 2011.1.519.40 of the dll.

Thanks,
Dan

10 Answers, 1 is accepted

Sort by
0
Veronica
Telerik team
answered on 06 Jul 2011, 08:57 AM
Hello Dan,

I understand your confusement. As our online demo for custom advanced form is with RadScheduler bound to XmlProvider you have some doubts about the implementation with SqlDataSource.

I've created a sample demo to show you how to implement binding to SqlDataSource and use custom advanced form.

Please let me know if you have further questions.

All the best,
Veronica Milcheva
the Telerik team

Register for the Q2 2011 What's New Webinar Week. Mark your calendar for the week starting July 18th and book your seat for a walk through of all the exciting stuff we will ship with the new release!

0
Dan Lehmann
Top achievements
Rank 1
answered on 06 Jul 2011, 02:49 PM
Hi,
Sorry, that didn't help. I am binding in the codebehind with objects, not from an SqlDataSource. See the links above ^^^^^^^^^^^

Your only reference to RecurrenceParentID is in this SqlDataSource.

0
Veronica
Telerik team
answered on 12 Jul 2011, 09:38 AM
Hi Dan Lehmann,

By some reason I didn't received the links that you are refering to. Could you please provide them as well.
As per the main question - my demo should give you a nice "how to" even when you are binding to custom objects and not to a SqlDataSource. However if you still need help - could you please provide me your code so I can inspect it and help you?

Thank you!
 
Greetings,
Veronica Milcheva
the Telerik team

Register for the Q2 2011 What's New Webinar Week. Mark your calendar for the week starting July 18th and book your seat for a walk through of all the exciting stuff we will ship with the new release!

0
Dan Lehmann
Top achievements
Rank 1
answered on 12 Jul 2011, 02:28 PM
My apologies, the links were hard to find in the text. I edited my first post to make them more obvious.

Thanks again,
Dan
0
Accepted
Peter
Telerik team
answered on 18 Jul 2011, 01:35 PM
Hello Dan,

Attached is a demo with RadScheduler bound to a list of AppointmentInfo objects and Custom Advanced form. I hope you find it useful.

Greetings,
Peter
the Telerik team

Register for the Q2 2011 What's New Webinar Week. Mark your calendar for the week starting July 18th and book your seat for a walk through of all the exciting stuff we will ship with the new release!

0
Dan Lehmann
Top achievements
Rank 1
answered on 21 Jul 2011, 02:55 PM
Thanks,
I am studying this now and it is making sense.

Dan
0
Dan Lehmann
Top achievements
Rank 1
answered on 21 Jul 2011, 08:07 PM
That example was really great Peter, I got my Advanced Form working!

I have a followup question about applying different skins. In my website I am using a mix of skins and custom controls/colors schemes.
Can I apply Skin="Vista" for the RadScheduler and somehow style the buttons of the Advanced form with Skin="Outlook"?

I tried this by adding a form decorator and changing the Advanced form UpdateButton and CancelButton to RadButtons with Skin="Outlook". I get the other sprite background underneath the buttons I add. Please see the attached screenshot.

Thanks,
Dan
0
Peter
Telerik team
answered on 26 Jul 2011, 02:27 PM
Hello Dan,

The save and cancel buttons are nested in wrappers which have predefined styles. You should remove the CssClass property and you can set any custom style inline for example.
<asp:Panel runat="server" ID="ButtonsPanel" style="text-align:right; padding-bottom:15px" >
            
               <telerik:RadButton runat="server" ID="UpdateButton" Text="Save" Skin="Outlook" Width="60px">
               </telerik:RadButton>
               <telerik:RadButton runat="server" ID="CancelButton" CommandName="Cancel" Text="Cancel" Skin="Outlook" Width="60px"
                   CausesValidation="false">
               </telerik:RadButton>
 
       </asp:Panel>


Best wishes, Peter
the Telerik team

Register for the Q2 2011 What's New Webinar Week. Mark your calendar for the week starting July 18th and book your seat for a walk through of all the exciting stuff we will ship with the new release!

0
Dan Lehmann
Top achievements
Rank 1
answered on 28 Jul 2011, 10:29 PM
Hello again,

I am attempting to prepopulate advance form fields based on: http://www.telerik.com/support/kb/aspnet-ajax/scheduler/how-to-access-controls-in-the-advanced-form.aspx

This was working with the built in advanced form but nowe.Container.FindControl("Subject") returns Nothing from the following code:
Protected Sub RadScheduler1_FormCreated(sender As Object, e As Telerik.Web.UI.SchedulerFormCreatedEventArgs) Handles RadScheduler1.FormCreated
    If (e.Container.Mode = SchedulerFormMode.AdvancedEdit) OrElse (e.Container.Mode = SchedulerFormMode.AdvancedInsert) Then
        Dim txtSubj As RadTextBox = DirectCast(e.Container.FindControl("Subject"), RadTextBox)
        Dim txtDesc As RadTextBox = DirectCast(e.Container.FindControl("Description"), RadTextBox)
    End If
End Sub

Is there something about how the SchCustomAdvFormWithObjectsList.zip project was setup that makes this method of accessing the controls broken?

Edit, Figuring this out. I can access the Subject through the following:
If e.Container.Mode = SchedulerFormMode.AdvancedEdit OrElse e.Container.Mode = SchedulerFormMode.AdvancedInsert Then
  Dim c1 As Control = e.Container.FindControl("AdvancedInsertForm1")
  If c1 Is Nothing Then
    c1 = e.Container.FindControl("AdvancedEditForm1")
  End If
  Dim c2 As Control = c1.FindControl("AdvancedEditOptionsPanel")
  Dim c3 As Control = c2.FindControl("BasicControlsPanel")
  Dim txtSubj As Control = c3.FindControl("SubjectText")
End If

Is there no better way?

Thanks,
Dan
0
Peter
Telerik team
answered on 29 Jul 2011, 09:18 AM
Hello Dan,

When using the Advanced Tempaltes, handling FormCreated is obsolete since you can access the controls directly in the supplied user controls - AdvancedForm.ascs, ResourceControls.ascx, etc.

Greetings,
Peter
the Telerik team

Browse the vast support resources we have to jump start your development with RadControls for ASP.NET AJAX. See how to integrate our AJAX controls seamlessly in SharePoint 2007/2010 visiting our common SharePoint portal.

Tags
Scheduler
Asked by
Dan Lehmann
Top achievements
Rank 1
Answers by
Veronica
Telerik team
Dan Lehmann
Top achievements
Rank 1
Peter
Telerik team
Share this question
or