3 Answers, 1 is accepted
0
Hello Tanuj,
Here is a sample Web Part that uses RadSCheduler to display a Sharepoint Calendar List.
All the best,
Dimitar Milushev
the Telerik team
Check out Telerik Trainer, the state of the art learning tool for Telerik products.
Here is a sample Web Part that uses RadSCheduler to display a Sharepoint Calendar List.
| public class SchedulerWebPart : System.Web.UI.WebControls.WebParts.WebPart |
| { |
| private SPCalendarView _view; |
| private SPWeb oWeb; |
| //For DropDown List (Show all or selected member) |
| private Label lblShowAll; |
| private Label lblMember; |
| SPListItemCollection ListItemCol; |
| SPCalendarItem CalItem; |
| /****************************************** |
| * Intilaize DropDownList and RADSchedulder |
| *****************************************/ |
| private DropDownList allUsers = new DropDownList(); |
| private RadScheduler theScheduler = null; |
| protected override void OnLoad(EventArgs e) |
| { |
| base.OnLoad(e); |
| /***************************************************** |
| * Check for all USERS (Memeber)the in SharePoint Grp. |
| ****************************************************/ |
| oWeb = SPControl.GetContextWeb(Context); |
| oWeb.AllowUnsafeUpdates = true; |
| allUsers.AutoPostBack = true; |
| allUsers.EnableViewState = true; |
| allUsers.Items.Insert(0, new ListItem("--All users--", "0")); |
| foreach (SPUser user in oWeb.AllUsers) |
| { |
| allUsers.Items.Add(user.Name); |
| } |
| this.Controls.Add(this.allUsers); |
| allUsers.SelectedIndexChanged += new EventHandler(allUsers_SelectedIndexChanged); |
| /************************************************************** |
| * Create the table that will hold the toolbar and the calendar |
| **************************************************************/ |
| HtmlTable theMainTable = new HtmlTable(); |
| theMainTable.Width = "100%"; |
| theMainTable.CellPadding = 0; |
| theMainTable.CellSpacing = 0; |
| theMainTable.Border = 0; |
| this.Controls.Add(theMainTable); |
| // Create the row and the cell for the calendar |
| HtmlTableRow calendarRow = new HtmlTableRow(); |
| theMainTable.Rows.Add(calendarRow); |
| HtmlTableCell calendarCell = new HtmlTableCell(); |
| calendarRow.Cells.Add(calendarCell); |
| CheckScriptManager(); |
| theScheduler = new RadScheduler(); |
| theScheduler.Skin = "Office2007"; |
| // Disable the timeline view |
| theScheduler.TimelineView.UserSelectable = false; |
| theScheduler.Width = new Unit(800, UnitType.Pixel); |
| theScheduler.Height = new Unit(600, UnitType.Pixel); |
| theScheduler.OverflowBehavior = OverflowBehavior.Expand; |
| //theScheduler.Provider = new ListSchedulerProvider(); |
| theScheduler.SelectedView = SchedulerViewType.MonthView; |
| // The following line plus the CSS classes added in the Default.aspx |
| // caused the appointments to cross the boundary of the month cell |
| theScheduler.MonthView.VisibleAppointmentsPerDay = 5; |
| theScheduler.EnableViewState = false; |
| //Attaching Telerik RADScheduler |
| theScheduler.DataSource = GetCalendarItems(); |
| theScheduler.DataStartField = "StartDate"; |
| theScheduler.DataEndField = "StartDate"; |
| theScheduler.DataSubjectField = "Title"; |
| theScheduler.DataKeyField = "ItemID"; |
| this.Controls.Add(theScheduler); |
| } |
| private ScriptManager CheckScriptManager() |
| { |
| ScriptManager sm = ScriptManager.GetCurrent(Page); |
| if (sm == null) |
| { |
| if (Page.Form != null) |
| { |
| sm = new ScriptManager(); |
| sm.ID = Page.Form.ID + "_ScriptManager"; |
| Page.Form.Controls.Add(sm); |
| } |
| } |
| return sm; |
| } |
| protected override void CreateChildControls() |
| { |
| base.CreateChildControls(); |
| // TODO: add custom rendering code here. |
| Label label = new Label(); |
| label.Text = "SPCalendarWP Demo!"; |
| this.Controls.Add(label); |
| } |
| private SPCalendarItemCollection GetCalendarItems() |
| { |
| // Create a new collection for the calendar items |
| // This is an item with a start and end date. |
| SPCalendarItemCollection items = new SPCalendarItemCollection(); |
| oWeb = SPControl.GetContextWeb(Context); |
| SPList oCalendarList = oWeb.Lists["Events"]; |
| SPView oView = oCalendarList.Views["Calendar"]; |
| SPCalendarView calendarView = new SPCalendarView(); |
| string strListCalendar = "Calendar"; |
| SPQuery query = new SPQuery(); |
| query.Query = "<OrderBy><FieldRef Name='ID' /></OrderBy>"; |
| if (allUsers.SelectedItem.Value == "0") //Show All |
| { |
| query.Query = "<OrderBy><FieldRef Name='ID' /></OrderBy>"; |
| } |
| else |
| { |
| query.Query = "<OrderBy><FieldRef Name='ID' /></OrderBy><Where><Eq><FieldRef Name='Absentee' /><Value Type='User'>" + allUsers.SelectedItem.Text + "</Value></Eq></Where>"; |
| } |
| foreach (SPListItem listItem in oCalendarList.GetItems(query)) |
| { |
| SPCalendarItem calItem = new SPCalendarItem(); |
| calItem.ItemID = listItem["ID"].ToString(); |
| calItem.Title = listItem["Title"].ToString(); |
| calItem.CalendarType = Convert.ToInt32(SPCalendarType.Gregorian); |
| calItem.StartDate = (DateTime)listItem["Start Time"]; |
| calItem.ItemID = listItem.ID.ToString(); |
| if (listItem["End Time"] != null) |
| { |
| calItem.hasEndDate = true; |
| calItem.EndDate = (DateTime)listItem["End Time"]; |
| } |
| else |
| calItem.hasEndDate = false; |
| if (listItem["Description"] != null) |
| calItem.Description = listItem["Description"].ToString(); |
| if (listItem["Location"] != null) |
| calItem.Location = listItem["Location"].ToString(); |
| items.Add(calItem); |
| } |
| // return the collection |
| return items; |
| } |
| void allUsers_SelectedIndexChanged(object sender, EventArgs e) |
| { |
| if (allUsers.SelectedItem.Value != "-1") |
| { |
| try |
| { |
| if (allUsers.SelectedItem.Value == "0") // Show All |
| { |
| lblShowAll.Text = "Show All"; |
| this.Controls.Add(lblShowAll); |
| } |
| else |
| { |
| lblMember.Text = allUsers.SelectedItem.Text; |
| this.Controls.Add(lblMember); |
| } |
| } |
| catch (Exception ex) |
| { |
| } |
| } |
| } |
| } |
All the best,
Dimitar Milushev
the Telerik team
Check out Telerik Trainer, the state of the art learning tool for Telerik products.
0
Gary
Top achievements
Rank 1
answered on 19 Nov 2018, 04:51 PM
Hi,
Is there an example of how to display the Scheduler using SharePoint REST calls with javascript/JQuery (Json)? Thank you.
0
Gary
Top achievements
Rank 1
answered on 20 Nov 2018, 11:56 AM
Hi,
Is there an example of how to display the Scheduler using SharePoint REST calls with javascript/JQuery (Json)? Thank you