or
| _radGrid.ClientSettings.AllowColumnsReorder = true; |
| _radGrid.ClientSettings.ReorderColumnsOnClient = true; |
| _radGrid.ClientSettings.ColumnsReorderMethod = GridClientSettings.GridColumnsReorderMethod.Reorder; |
| ds = new ObjectDataSource(); |
| ds.ID = "dsTaskList"; |
| ds.TypeName = "WIT.TaskList.TaskList"; |
| ds.SelectMethod = "AllData"; |
| ds.SelectParameters.Add("siteurl", _site); |
| ds.SelectParameters.Add("webname", _web); |
| ds.SelectParameters.Add("tasklistname", _tasklist); |
| ds.SelectParameters.Add("viewname", _view); |
| ds.SelectParameters.Add("startdatefield", _datastarttimefield); |
| ds.SelectParameters.Add("enddatefield", _dataendtimefield); |
| ds.SelectParameters.Add("subjectfield", _datasubjectfield); |
| ds.InsertMethod = "InsertTask"; |
| ds.InsertParameters.Add(new Parameter("Subject", System.Data.DbType.String)); |
| ds.InsertParameters.Add(new Parameter("Start", System.Data.DbType.DateTime)); |
| ds.InsertParameters.Add(new Parameter("End", System.Data.DbType.DateTime)); |
| ds.InsertParameters.Add("siteurl", _site); |
| ds.InsertParameters.Add("webname", _web); |
| ds.InsertParameters.Add("tasklistname", _tasklist); |
| ds.InsertParameters.Add("viewname", _view); |
| ds.InsertParameters.Add("startdatefield", _datastarttimefield); |
| ds.InsertParameters.Add("enddatefield", _dataendtimefield); |
| ds.InsertParameters.Add("subjectfield", _datasubjectfield); |
| ds.UpdateMethod = "UpdateTask"; |
| ds.UpdateParameters.Add(new Parameter("ID", System.Data.DbType.Int32)); |
| ds.UpdateParameters.Add(new Parameter("Subject", System.Data.DbType.String)); |
| ds.UpdateParameters.Add(new Parameter("Start", System.Data.DbType.DateTime)); |
| ds.UpdateParameters.Add(new Parameter("End", System.Data.DbType.DateTime)); |
| ds.UpdateParameters.Add("siteurl", _site); |
| ds.UpdateParameters.Add("webname", _web); |
| ds.UpdateParameters.Add("tasklistname", _tasklist); |
| ds.UpdateParameters.Add("viewname", _view); |
| ds.UpdateParameters.Add("startdatefield", _datastarttimefield); |
| ds.UpdateParameters.Add("enddatefield", _dataendtimefield); |
| ds.UpdateParameters.Add("subjectfield", _datasubjectfield); |
| ds.DeleteMethod = "DeleteTask"; |
| ds.DeleteParameters.Add(new Parameter("ID", System.Data.DbType.Int32)); |
| ds.DeleteParameters.Add("siteurl", _site); |
| ds.DeleteParameters.Add("webname", _web); |
| ds.DeleteParameters.Add("tasklistname", _tasklist); |
| ds.DeleteParameters.Add("viewname", _view); |
| ds.DeleteParameters.Add("startdatefield", _datastarttimefield); |
| ds.DeleteParameters.Add("enddatefield", _dataendtimefield); |
| ds.DeleteParameters.Add("subjectfield", _datasubjectfield); |
| this.Page.Controls.AddAt(1, ds); |
| //new instance of scheduler |
| schedule = new RadScheduler(); |
| //set scheduler appearance |
| schedule.Width = Unit.Percentage(100); |
| schedule.Height = Unit.Percentage(100); |
| schedule.Skin = _skin; |
| schedule.SelectedView = _startview; |
| //set scheduler data properties |
| schedule.DataSourceID = ds.ID; |
| schedule.DataKeyField = "_id"; |
| schedule.DataEndField = "_enddatetime"; |
| schedule.DataStartField = "_startdatetime"; |
| schedule.DataSubjectField = "_subject"; |
| //other scheduler properties |
| schedule.AllowDelete = _allowdelete; |
| schedule.AllowEdit = _allowedit; |
| schedule.AllowInsert = _allowinsert; |
| schedule.EnableAjaxSkinRendering = true; |
| schedule.DayEndTime = _dayendtime; |
| schedule.DayStartTime = _daystarttime; |
| schedule.FirstDayOfWeek = _firstdayofweek; |
| schedule.WorkDayEndTime = _workdayendtime; |
| schedule.WorkDayStartTime = _workdaystarttime; |
| schedule.StartInsertingInAdvancedForm = true; |
| schedule.StartEditingInAdvancedForm = false; |
| //add scheduler to control collection |
| Controls.Add(schedule); |
| schedule.DataBind(); |
| const string TasksKey = "TaskListScheduler_key"; |
| public static List<TaskInfo> AllData(string siteurl, string webname, string tasklistname, string viewname, string startdatefield, string enddatefield, string subjectfield) |
| { |
| List<TaskInfo> sessApts = HttpContext.Current.Session[TasksKey] as List<TaskInfo>; |
| if (sessApts == null) |
| { |
| sessApts = new List<TaskInfo>(); |
| SPSecurity.RunWithElevatedPrivileges(delegate() |
| { |
| //get task list information |
| using (SPSite site = new SPSite(siteurl)) |
| { |
| SPWeb web = site.OpenWeb(webname); |
| SPList tasklist = web.Lists[tasklistname]; |
| SPView view = tasklist.Views[viewname]; |
| SPListItemCollection lic = tasklist.GetItems(view); |
| foreach (SPListItem item in lic) |
| { |
| if (item[startdatefield] != null) |
| { |
| if (item[enddatefield] != null) |
| { |
| if (item[subjectfield] != null) |
| { |
| string subject = Convert.ToString(item[subjectfield]); |
| DateTime start = (DateTime)item[startdatefield]; |
| DateTime end = (DateTime)item[enddatefield]; |
| //if (start <= end) |
| //{ |
| // if (start == end) |
| // { |
| //end = end.AddDays(1); |
| TaskInfo ti = new TaskInfo(Convert.ToInt32(item["ID"]), subject, start, end); |
| sessApts.Add(ti); |
| // } |
| //} |
| } |
| } |
| } |
| } |
| } |
| }); |
| HttpContext.Current.Session[TasksKey] = sessApts; |
| } |
| return sessApts; |
| } |
| public static void InsertTask(string Subject, DateTime Start, DateTime End, string siteurl, string webname, string tasklistname, string viewname, string startdatefield, string enddatefield, string subjectfield) |
| { |
| List<TaskInfo> sessApts = (List<TaskInfo>)HttpContext.Current.Session[TasksKey]; |
| int ID = 0; |
| //try |
| //{ |
| // SPSecurity.RunWithElevatedPrivileges(delegate() |
| // { |
| // using (SPSite site = new SPSite(siteurl)) |
| // { |
| // //open task list |
| // SPWeb web = site.OpenWeb(webname); |
| // SPList tasklist = web.Lists[tasklistname]; |
| // //add new item to list |
| // SPListItem item = tasklist.Items.Add(); |
| // //get ID |
| // ID = item.ID; |
| // //set meta data values |
| // item[subjectfield] = Subject; |
| // item[startdatefield] = Start; |
| // item[enddatefield] = End; |
| // //update inserted item with meta data |
| // item.Update(); |
| // } |
| // }); |
| //} |
| //catch (Exception ex) { HttpContext.Current.Response.Write(ex.ToString()); } |
| TaskInfo ti = new TaskInfo(ID, Subject, Start, End); |
| sessApts.Add(ti); |
| HttpContext.Current.Session[TasksKey] = sessApts; |
| } |
| public static void DeleteTask(int ID, string siteurl, string webname, string tasklistname, string viewname, string startdatefield, string enddatefield, string subjectfield) |
| { |
| try |
| { |
| List<TaskInfo> sessApts = AllData(siteurl, webname, tasklistname, viewname, startdatefield, enddatefield, subjectfield); |
| SPSecurity.RunWithElevatedPrivileges(delegate() |
| { |
| using (SPSite site = new SPSite(siteurl)) |
| { |
| //open task list |
| SPWeb web = site.OpenWeb(webname); |
| SPList tasklist = web.Lists[tasklistname]; |
| //delete item |
| tasklist.Items.DeleteItemById(ID); |
| } |
| }); |
| sessApts.Remove(FindById(ID, sessApts)); |
| } |
| catch (Exception ex) { HttpContext.Current.Response.Write(ex.ToString()); } |
| } |
| public static void UpdateTask(int ID, string Subject, DateTime Start, DateTime End, string siteurl, string webname, string tasklistname, string viewname, string startdatefield, string enddatefield, string subjectfield) |
| { |
| try |
| { |
| List<TaskInfo> sessApts = AllData(siteurl, webname, tasklistname, viewname, startdatefield, enddatefield, subjectfield); |
| SPSecurity.RunWithElevatedPrivileges(delegate() |
| { |
| using (SPSite site = new SPSite(siteurl)) |
| { |
| //open task list |
| SPWeb web = site.OpenWeb(webname); |
| SPList tasklist = web.Lists[tasklistname]; |
| //get list item to update |
| SPListItem item = tasklist.GetItemById(ID); |
| //set meta data values |
| item[subjectfield] = Subject; |
| item[startdatefield] = Start; |
| item[enddatefield] = End; |
| //update item with new meta data |
| item.Update(); |
| } |
| }); |
| TaskInfo ti = FindById(ID, sessApts); |
| ti._subject = Subject; |
| ti._startdatetime = Start; |
| ti._enddatetime = End; |
| } |
| catch (Exception ex) { HttpContext.Current.Response.Write(ex.ToString()); } |
| } |
| public static TaskInfo FindById(int ID, List<TaskInfo> sessTasks) |
| { |
| foreach (TaskInfo ti in sessTasks) |
| { |
| if (ti._id == ID) |
| { |
| return ti; |
| } |
| } |
| return null; |
| } |
| public class TaskInfo |
| { |
| public int _id { get; set; } |
| public string _subject { get; set; } |
| public DateTime _startdatetime { get; set; } |
| public DateTime _enddatetime { get; set; } |
| public TaskInfo(int id, string subject, DateTime start, DateTime end) |
| { |
| this._id = id; |
| this._subject = subject; |
| this._startdatetime = start; |
| this._enddatetime = end; |
| } |
| } |
| <telerik:RadSplitter id="RadSplitter1" runat="server" FullScreenMode="true" Width="100%" |
| VisibleDuringInit="false" LiveResize="false" |
| Skin="Web20" Orientation="Horizontal"> |
| <telerik:RadPane ID="MasterPageRadContentPane" runat="server" Scrolling="Both"> |
| <div id="master_middle" style="font-size:.8em;"> |
| <asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server"> |
| </asp:ContentPlaceHolder> |
| </div> |
| </telerik:RadPane> |
| <telerik:RadPane ID="FooterContentPane" runat="server" Scrolling="None" Height="40px"> |
| <div style="padding:5px 0px 10px 5px;"> |
| <asp:ContentPlaceHolder ID="ContentPlaceHolder2" runat="server"> |
| </asp:ContentPlaceHolder> |
| </div> |
| </telerik:RadPane> |
| </telerik:RadSplitter> |