Hi Admin,
I am using RADScheduler in a SharePoint list as datasource (members in SharePoint group) and very similar to example in http://demos.telerik.com/ASPNET/Prometheus/Scheduler/Examples/Resources/DefaultCS.aspx
I used web part (NOT user control or SmartPart, but VS.NET 2008 IDE) and this the code:
Now I have couple of questions:
1) I need to attach my dropdownlist (SharePoint DataSource) to scheduler with excatly same result as the example aforementioned. (http://demos.telerik.com/ASPNET/Prometheus/Scheduler/Examples/Resources/DefaultCS.aspx, Defining resources). For e.g. If in dropdownlist my name is selected then only my appointment / event is selected without refresh. I guess its done through AJAX.
2) In the EditForm, under "More details", instead of Room, I have to have a event category
like Business trip, Vacation, sick leave with proper color code.
For e.g. for business trip - color could be blue, vacation - could could be pink.
Could you please advice on this and how can i achieve this?
Web Part code would be very helpful.
Thanks.
Cheers,
Aroh
I am using RADScheduler in a SharePoint list as datasource (members in SharePoint group) and very similar to example in http://demos.telerik.com/ASPNET/Prometheus/Scheduler/Examples/Resources/DefaultCS.aspx
I used web part (NOT user control or SmartPart, but VS.NET 2008 IDE) and this the code:
namespace RADSchedulerWP |
2 { |
3 [Guid("ebb5c169-13bf-488e-a8dc-299f39eabb9b")] |
4 public class RADSchedulerWP : System.Web.UI.WebControls.WebParts.WebPart |
5 { |
6 public RADSchedulerWP() |
7 { |
8 } |
9 |
10 private DropDownList allUsers; |
11 private RadScheduler theScheduler = null; |
12 |
13 protected override void OnInit(EventArgs e) |
14 { |
15 base.OnInit(e); |
16 |
17 // Check for all USERS (Memeber)the in SharePoint Grp. |
18 SPWeb web = SPControl.GetContextWeb(Context); |
19 allUsers = new DropDownList(); |
20 |
21 allUsers.Items.Insert(0, new ListItem("Please select...", "0")); |
22 |
23 foreach (SPUser user in web.AllUsers) |
24 { |
25 allUsers.Items.Add(user.Name); |
26 } |
27 |
28 this.Controls.Add(this.allUsers); |
29 |
30 // Create the table that will hold the toolbar and the calendar |
31 HtmlTable theMainTable = new HtmlTable(); |
32 theMainTable.Width = "100%"; |
33 theMainTable.CellPadding = 0; |
34 theMainTable.CellSpacing = 0; |
35 theMainTable.Border = 0; |
36 this.Controls.Add(theMainTable); |
37 |
38 // Create the row and the cell for the calendar |
39 HtmlTableRow calendarRow = new HtmlTableRow(); |
40 theMainTable.Rows.Add(calendarRow); |
41 HtmlTableCell calendarCell = new HtmlTableCell(); |
42 calendarRow.Cells.Add(calendarCell); |
43 |
44 CheckScriptManager(); |
45 |
46 theScheduler = new RadScheduler(); |
47 theScheduler.Skin = "Office2007"; |
48 // Disable the timeline view |
49 theScheduler.TimelineView.UserSelectable = false; |
50 theScheduler.Width = new Unit(800, UnitType.Pixel); |
51 theScheduler.Height = new Unit(600, UnitType.Pixel); |
52 theScheduler.OverflowBehavior = OverflowBehavior.Expand; |
53 theScheduler.Provider = new ListSchedulerProvider(); |
54 theScheduler.SelectedView = SchedulerViewType.WeekView; |
55 |
56 // The following line plus the CSS classes added in the Default.aspx |
57 // caused the appointments to cross the boundary of the month cell |
58 theScheduler.MonthView.VisibleAppointmentsPerDay = 5; |
59 //theScheduler.ShowAdvancedEditForm = true; |
60 |
61 this.Controls.Add(theScheduler); |
62 |
63 |
64 } |
65 |
66 private ScriptManager CheckScriptManager() |
67 { |
68 ScriptManager sm = ScriptManager.GetCurrent(Page); |
69 if (sm == null) |
70 { |
71 if (Page.Form != null) |
72 { |
73 sm = new ScriptManager(); |
74 sm.ID = Page.Form.ID + "_ScriptManager"; |
75 Page.Form.Controls.Add(sm); |
76 } |
77 } |
78 |
79 return sm; |
80 } |
81 |
82 protected override void CreateChildControls() |
83 { |
84 base.CreateChildControls(); |
85 |
86 // TODO: add custom rendering code here. |
87 Label label = new Label(); |
88 label.Text = "Demo RADScheduler!"; |
89 this.Controls.Add(label); |
90 |
91 } |
92 |
93 public class ListSchedulerProvider : SchedulerProviderBase |
94 { |
95 public override void Delete(RadScheduler owner, Appointment appointmentToDelete) |
96 { |
97 |
98 } |
99 |
100 public override System.Collections.Generic.IEnumerable<Appointment> GetAppointments(RadScheduler owner) |
101 { |
102 List<Appointment> appointmentsList = new List<Appointment>(); |
103 |
104 Appointment newAppt = new Appointment(); |
105 newAppt.Start = new DateTime(2008, 7, 14, 0, 0, 0); |
106 newAppt.End = newAppt.Start.AddDays(1); |
107 newAppt.ID = Guid.NewGuid(); |
108 newAppt.Subject = "All Day 1"; |
109 newAppt.ToolTip = "All Day 1"; |
110 newAppt.RecurrenceState = RecurrenceState.NotRecurring; |
111 appointmentsList.Add(newAppt); |
112 |
113 newAppt = new Appointment(); |
114 newAppt.Start = new DateTime(2008, 7, 14, 0, 0, 0); |
115 newAppt.End = newAppt.Start.AddDays(1); |
116 newAppt.ID = Guid.NewGuid(); |
117 newAppt.Subject = "All Day 2"; |
118 newAppt.ToolTip = "All Day 2"; |
119 newAppt.RecurrenceState = RecurrenceState.NotRecurring; |
120 appointmentsList.Add(newAppt); |
121 |
122 newAppt = new Appointment(); |
123 newAppt.Start = new DateTime(2008, 7, 14, 0, 0, 0); |
124 newAppt.End = newAppt.Start.AddDays(1); |
125 newAppt.ID = Guid.NewGuid(); |
126 newAppt.Subject = "All Day 3"; |
127 newAppt.ToolTip = "All Day 3"; |
128 newAppt.RecurrenceState = RecurrenceState.NotRecurring; |
129 appointmentsList.Add(newAppt); |
130 |
131 return appointmentsList; |
132 } |
133 |
134 public override System.Collections.Generic.IEnumerable<ResourceType> GetResourceTypes(RadScheduler owner) |
135 { |
136 return null; |
137 } |
138 |
139 public override System.Collections.Generic.IEnumerable<Resource> GetResourcesByType(RadScheduler owner, string resourceType) |
140 { |
141 return null; |
142 } |
143 |
144 public override void Insert(RadScheduler owner, Appointment appointmentToInsert) |
145 { |
146 |
147 } |
148 |
149 public override void Update(RadScheduler owner, Appointment appointmentToUpdate) |
150 { |
151 |
152 } |
153 } |
154 } |
155 } |
156 |
1) I need to attach my dropdownlist (SharePoint DataSource) to scheduler with excatly same result as the example aforementioned. (http://demos.telerik.com/ASPNET/Prometheus/Scheduler/Examples/Resources/DefaultCS.aspx, Defining resources). For e.g. If in dropdownlist my name is selected then only my appointment / event is selected without refresh. I guess its done through AJAX.
2) In the EditForm, under "More details", instead of Room, I have to have a event category
like Business trip, Vacation, sick leave with proper color code.
For e.g. for business trip - color could be blue, vacation - could could be pink.
Could you please advice on this and how can i achieve this?
Web Part code would be very helpful.
Thanks.
Cheers,
Aroh