Articles in this section
Category / Section

Pass collection objects to the Schedule control in code behind page.

6 mins read

You can pass the collection objects to the Schedule control in code behind page.

The following steps help you to pass the collection objects to the Schedule control DataSource from the Code behind page of the ASP.NET Scheduler application.

Step 1: Refer to the online KB documentation from the following location and add the EJWEB Schedule control to the ASP.NET application.

Step 2: Add the basic schedule rendering code in the design page as shown below

[Default.aspx]

  <ej:Schedule ID="Schedule2" runat="server">
        <AppointmentSettings></AppointmentSettings>
  </ej:Schedule>

Step 3: Now, add the following codes to define various properties of the Schedule control in the code behind page.

[Default.aspx.cs]

protected void Page_Load(object sender, EventArgs e)
        {
            Schedule1.Width = "100%";
            Schedule1.CurrentDate = "05/06/2014";
            Schedule1.AppointmentSettings = new Syncfusion.JavaScript.Models.ScheduleFields() { Id = "ID", Subject = "Subject", AllDay = "AllDay", StartTime = "StartTime", EndTime = "EndTime", Description = "Description", Recurrence = "Recurrence", RecurrenceRule = "RecurrenceRule" };
            // Here you have to map the bind fields to schedule control
            Schedule1.AppointmentSettings.DataSource = GetRecords();// Here, the "GetRecords" method is called to bind the data to schedule control
        }

[Default.aspx.vb]

Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) Handles Me.Load
        Schedule1.Width = "100%"
        Schedule1.CurrentDate = "05/06/2014"
        Schedule1.AppointmentSettings = New Syncfusion.JavaScript.Models.ScheduleFields() With { _
        .Id = "ID", _
        .Subject = "Subject", _
        .AllDay = "AllDay", _
        .StartTime = "StartTime", _
        .EndTime = "EndTime", _
        .Description = "Description", _
        .Recurrence = "Recurrence", _
        .RecurrenceRule = "RecurrenceRule" _
        } ' Here you have to map the bind fields to schedule control
        Schedule1.AppointmentSettings.DataSource = GetRecords()  ' Here, the "GetRecords" method is called to bind the data to schedule control
    End Sub

 

Step 4: Create a class with the required fields to create the object collection. Refer to the following code example to create the class.

[Default.aspx.cs]

[Serializable]
        public class ScheduleAppointmentsObjData
        {
            private int _id;
            private String _subject;
            private String _startTime;
            private String _endTime;
            private String _description;
            private String _owner;
            private Boolean _allDay;
            private Boolean _recurrence;
            private String _recurrenceRule;
            public ScheduleAppointmentsObjData(int _id, string _subject, string _description, string _startTime, string _endTime, string _owner, bool _recurrence, bool _allDay, string _recurrenceRule)
            {
                this._id = _id;
                this._subject = _subject;
                this._startTime = _startTime;
                this._endTime = _endTime;
                this._description = _description;
                this._owner = _owner;
                this._recurrence = _recurrence; ;
                this._allDay = _allDay;
                this._recurrenceRule = _recurrenceRule;
            }
            public int ID
            {
                get
                {
                    return _id;
                }
                set
                {
                    _id = value;
                }
            }
            public string Subject
            {
                get
                {
                    return _subject;
                }
                set
                {
                    _subject = value;
                }
            }
            public string StartTime
            {
                get
                {
                    return _startTime;
                }
                set
                {
                    _startTime = value;
                }
            }
            public string EndTime
            {
                get
                {
                    return _endTime;
                }
                set
                {
                    _endTime = value;
                }
            }
            public string Description
            {
                get
                {
                    return _description;
                }
                set
                {
                    _description = value;
                }
            }
            public string Owner
            {
                get
                {
                    return _owner;
                }
                set
                {
                    _owner = value;
                }
            }
            public Boolean Recurrence
            {
                get
                {
                    return _recurrence;
                }
                set
                {
                    _recurrence = value;
                }
            }
            public Boolean AllDay
            {
                get
                {
                    return _allDay;
                }
                set
                {
                    _allDay = value;
                }
            }
            public string RecurrenceRule
            {
                get
                {
                    return _recurrenceRule;
                }
                set
                {
                    _recurrenceRule = value;
                }
            }
        }

[Default.aspx.vb]

<Serializable> _
    Public Class ScheduleAppointmentsObjData
        Private _id As Integer
        Private _subject As [String]
        Private _startTime As [String]
        Private _endTime As [String]
        Private _description As [String]
        Private _owner As [String]
        Private _allDay As [Boolean]
        Private _recurrence As [Boolean]
        Private _recurrenceRule As [String]
        Public Sub New(_id As Integer, _subject As String, _description As String, _startTime As String, _endTime As String, _owner As String, _
        _recurrence As Boolean, _allDay As Boolean, _recurrenceRule As String)
            Me._id = _id
            Me._subject = _subject
            Me._startTime = _startTime
            Me._endTime = _endTime
            Me._description = _description
            Me._owner = _owner
            Me._recurrence = _recurrence
            Me._allDay = _allDay
            Me._recurrenceRule = _recurrenceRule
        End Sub
        Public Property ID() As Integer
            Get
                Return _id
            End Get
            Set(value As Integer)
                _id = value
            End Set
        End Property
        Public Property Subject() As String
            Get
                Return _subject
            End Get
            Set(value As String)
                _subject = value
            End Set
        End Property
        Public Property StartTime() As String
            Get
                Return _startTime
            End Get
            Set(value As String)
                _startTime = value
            End Set
        End Property
        Public Property EndTime() As String
            Get
                Return _endTime
            End Get
            Set(value As String)
                _endTime = value
            End Set
        End Property
        Public Property Description() As String
            Get
                Return _description
            End Get
            Set(value As String)
                _description = value
            End Set
        End Property
        Public Property Owner() As String
            Get
                Return _owner
            End Get
            Set(value As String)
                _owner = value
            End Set
        End Property
        Public Property Recurrence() As [Boolean]
            Get
                Return _recurrence
            End Get
            Set(value As [Boolean])
                _recurrence = value
            End Set
        End Property
        Public Property AllDay() As [Boolean]
            Get
                Return _allDay
            End Get
            Set(value As [Boolean])
                _allDay = value
            End Set
        End Property
        Public Property RecurrenceRule() As String
            Get
                Return _recurrenceRule
            End Get
            Set(value As String)
                _recurrenceRule = value
            End Set
        End Property
    End Class

Step 5: Define the “GetRecords” method and add the schedule appointment object collection within it. Refer the following code example to add the appointment collection (You can define any number of appointment objects within this method).

[Default.aspx.cs]

[DataObjectMethod(DataObjectMethodType.Select)]
        public List<ScheduleAppointmentsObjData> GetRecords()
        {
            List<ScheduleAppointmentsObjData> list = new List<ScheduleAppointmentsObjData>();
            list.Add(new ScheduleAppointmentsObjData(100, "Bering Sea Gold", "chn", "5/2/2014 9:00:00 AM", "5/2/2014 10:30:00 AM", "1", true, false, "FREQ=DAILY;INTERVAL=2;COUNT=10"));
            list.Add(new ScheduleAppointmentsObjData(101, "Bering Sea Gold", "mum", "5/2/2014 4:00:00 AM", "5/2/2014 5:00:00 AM", "1", false, false, ""));
            list.Add(new ScheduleAppointmentsObjData(102, "Bering Sea Gold", "trcy", "5/2/2014 4:00:00 PM", "5/2/2014 5:30:00 PM", "1", false, false, ""));
            list.Add(new ScheduleAppointmentsObjData(103, "What Happened Next?", "chn", "5/4/2014 3:00:00 AM", "5/4/2014 4:30:00 AM", "1", false, false, ""));
            list.Add(new ScheduleAppointmentsObjData(104, "Bering Sea Gold", "trcy", "5/4/2014 5:00:00 AM", "5/4/2014 5:40:00 AM", "1", false, false, ""));
            list.Add(new ScheduleAppointmentsObjData(105, "Daily Planet", "chn", "5/3/2014 1:00:00 AM", "5/3/2014 2:00:00 AM", "1", false, false, ""));
            list.Add(new ScheduleAppointmentsObjData(106, "Alaska: The Last Frontier", "chn", "5/3/2014 4:00:00 AM", "5/3/2014 5:00:00 AM", "1", false, false, ""));
            list.Add(new ScheduleAppointmentsObjData(107, "How It's Made", "chn", "5/1/2014 6:00:00 AM", "5/1/2014 6:30:00 AM", "1", true, false, "FREQ=WEEKLY;BYDAY=MO,TU;INTERVAL=1;COUNT=15"));
            list.Add(new ScheduleAppointmentsObjData(108, "Deadest Catch", "chn", "5/3/2014 4:00:00 PM", "5/3/2014 5:00:00 PM", "1", false, false, ""));
            list.Add(new ScheduleAppointmentsObjData(109, "MayDay", "chn", "4/30/2014 6:30:00 AM", "4/30/2014 7:30:00 AM", "1", false, false, ""));
            list.Add(new ScheduleAppointmentsObjData(110, "MoonShiners", "chn", "5/2/2014 2:00:00 AM", "5/2/2014 2:30:00 AM", "1", true, false, "FREQ=DAILY;INTERVAL=1;COUNT=5"));
            list.Add(new ScheduleAppointmentsObjData(111, "Close Encounters", "chn", "4/30/2014 2:00:00 PM", "4/30/2014 3:00:00 PM", "1", true, false, "FREQ=WEEKLY;BYDAY=MO,TH;INTERVAL=1;COUNT=5"));
            list.Add(new ScheduleAppointmentsObjData(112, "Close Encounters", "mum", "4/30/2014 3:00:00 AM", "4/30/2014 3:30:00 AM", "1", true, false, "FREQ=WEEKLY;BYDAY=WE;INTERVAL=1;COUNT=3"));
            list.Add(new ScheduleAppointmentsObjData(113, "Highway Thru Hell", "chn", "5/1/2014 3:00:00 AM", "5/1/2014 7:00:00 AM", "1", true, false, "FREQ=DAILY;INTERVAL=2;COUNT=10"));
            list.Add(new ScheduleAppointmentsObjData(114, "Moon Shiners", "chn", "5/2/2014 4:20:00 AM", "5/2/2014 5:50:00 AM", "1", false, false, ""));
            list.Add(new ScheduleAppointmentsObjData(115, "Cash Cab", "chn", "4/30/2014 3:00:00 PM", "4/30/2014 4:30:00 PM", "1", true, false, "FREQ=DAILY;INTERVAL=1;COUNT=5"));
            return list;
        }

[Default.aspx.vb]

<DataObjectMethod(DataObjectMethodType.[Select])> _
    Public Function GetRecords() As List(Of ScheduleAppointmentsObjData)
        Dim list As New List(Of ScheduleAppointmentsObjData)()
        list.Add(New ScheduleAppointmentsObjData(100, "Bering Sea Gold", "chn", "5/2/2014 9:00:00 AM", "5/2/2014 10:30:00 AM", "1", _
        True, False, "FREQ=DAILY;INTERVAL=2;COUNT=10"))
        list.Add(New ScheduleAppointmentsObjData(101, "Bering Sea Gold", "mum", "5/2/2014 4:00:00 AM", "5/2/2014 5:00:00 AM", "1", _
        False, False, ""))
        list.Add(New ScheduleAppointmentsObjData(102, "Bering Sea Gold", "trcy", "5/2/2014 4:00:00 PM", "5/2/2014 5:30:00 PM", "1", _
        False, False, ""))
        list.Add(New ScheduleAppointmentsObjData(103, "What Happened Next?", "chn", "5/4/2014 3:00:00 AM", "5/4/2014 4:30:00 AM", "1", _
        False, False, ""))
        list.Add(New ScheduleAppointmentsObjData(104, "Bering Sea Gold", "trcy", "5/4/2014 5:00:00 AM", "5/4/2014 5:40:00 AM", "1", _
        False, False, ""))
        list.Add(New ScheduleAppointmentsObjData(105, "Daily Planet", "chn", "5/3/2014 1:00:00 AM", "5/3/2014 2:00:00 AM", "1", _
        False, False, ""))
        list.Add(New ScheduleAppointmentsObjData(106, "Alaska: The Last Frontier", "chn", "5/3/2014 4:00:00 AM", "5/3/2014 5:00:00 AM", "1", _
        False, False, ""))
        list.Add(New ScheduleAppointmentsObjData(107, "How It's Made", "chn", "5/1/2014 6:00:00 AM", "5/1/2014 6:30:00 AM", "1", _
        True, False, "FREQ=WEEKLY;BYDAY=MO,TU;INTERVAL=1;COUNT=15"))
        list.Add(New ScheduleAppointmentsObjData(108, "Deadest Catch", "chn", "5/3/2014 4:00:00 PM", "5/3/2014 5:00:00 PM", "1", _
        False, False, ""))
        list.Add(New ScheduleAppointmentsObjData(109, "MayDay", "chn", "4/30/2014 6:30:00 AM", "4/30/2014 7:30:00 AM", "1", _
        False, False, ""))
        list.Add(New ScheduleAppointmentsObjData(110, "MoonShiners", "chn", "5/2/2014 2:00:00 AM", "5/2/2014 2:30:00 AM", "1", _
        True, False, "FREQ=DAILY;INTERVAL=1;COUNT=5"))
        list.Add(New ScheduleAppointmentsObjData(111, "Close Encounters", "chn", "4/30/2014 2:00:00 PM", "4/30/2014 3:00:00 PM", "1", _
        True, False, "FREQ=WEEKLY;BYDAY=MO,TH;INTERVAL=1;COUNT=5"))
        list.Add(New ScheduleAppointmentsObjData(112, "Close Encounters", "mum", "4/30/2014 3:00:00 AM", "4/30/2014 3:30:00 AM", "1", _
        True, False, "FREQ=WEEKLY;BYDAY=WE;INTERVAL=1;COUNT=3"))
        list.Add(New ScheduleAppointmentsObjData(113, "Highway Thru Hell", "chn", "5/1/2014 3:00:00 AM", "5/1/2014 7:00:00 AM", "1", _
        True, False, "FREQ=DAILY;INTERVAL=2;COUNT=10"))
        list.Add(New ScheduleAppointmentsObjData(114, "Moon Shiners", "chn", "5/2/2014 4:20:00 AM", "5/2/2014 5:50:00 AM", "1", _
        False, False, ""))
        list.Add(New ScheduleAppointmentsObjData(115, "Cash Cab", "chn", "4/30/2014 3:00:00 PM", "4/30/2014 4:30:00 PM", "1", _
        True, False, "FREQ=DAILY;INTERVAL=1;COUNT=5"))
        Return list
    End Function

 

Step 6: Run the sample and the Schedule control renders as follows.

schedule control

Figure 1: Schedule control

Sample links

C# Sample

https://www.syncfusion.com/downloads/support/directtrac/general/ScheduleCollectionObjectsCSharp651934581.zip

VB Sample

https://www.syncfusion.com/downloads/support/directtrac/general/ScheduleCollectionObjectsVB1841611264.zip


Note

A new version of Essential Studio for ASP.NET is available. Versions prior to the release of Essential Studio 2014, Volume 2 will now be referred to as a classic versions.The new ASP.NET suite is powered by Essential Studio for JavaScript providing client-side rendering of HTML 5-JavaScript controls, offering better performance, and better support for touch interactivity. The new version includes all the features of the old version, so migration is easy.

The Classic controls can be used in existing projects; however, if you are starting a new project, we recommend using the latest version of Essential Studio for ASP.NET. Although Syncfusion will continue to support all Classic Versions, we are happy to assist you in migrating to the newest edition.

For current customers, you can check out our components from the License and Downloads page. If you are new to Syncfusion, you can try our 30-day free trial to check out our other controls. If you have any queries or require clarifications, please let us know in the comments section below.

You can also contact us through our support forumsDirect-Trac, or feedback portal. We are always happy to assist you!

Did you find this information helpful?
Yes
No
Help us improve this page
Please provide feedback or comments
Comments (0)
Please sign in to leave a comment
Access denied
Access denied