Hello Guys.
I have successfully developed the RadScheduler as per requirement.
But now there are few changes.
At present i am showing my EventTitle in the appointment like in 1st December there are two events.
But now in that Day box instead of title i want to show total the number of events on that day occur in different color box as show in 15th December.
Please see the attached Snapshot for my requirement.
I hope this functionality is possible.
My present code is mentioned below.
OpenAccessProvider
Html-Souce
Code-Behind
Thanks
Pushkar
I have successfully developed the RadScheduler as per requirement.
But now there are few changes.
At present i am showing my EventTitle in the appointment like in 1st December there are two events.
But now in that Day box instead of title i want to show total the number of events on that day occur in different color box as show in 15th December.
Please see the attached Snapshot for my requirement.
I hope this functionality is possible.
My present code is mentioned below.
OpenAccessProvider
using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.UI;using System.Web.UI.WebControls;using ERMS.Entities;using ERMS.Services;using System.Data;using Telerik.Web.UI;using Telerik.Web.UI.Calendar;using Telerik.Web.UI.Scheduler;/// <summary>/// Summary description for OpenAccessCustomProvider/// </summary>public class OpenAccessCustomProvider : OpenAccessProviderBase{ public OpenAccessCustomProvider() { // // TODO: Add constructor logic here // } public override void Delete(RadScheduler owner, Appointment appointmentToDelete) { throw new NotImplementedException(); } #region " Declaration " Orders objOrders = new Orders(); OrdersService objOrdersService = new OrdersService(); TList<Orders> objOrdersList = new TList<Orders>(); ViewGetSearchOrdersService objOrderView = new ViewGetSearchOrdersService(); DataSet dsOrderView = new DataSet(); #endregion #region " Variables " Int32 _int_cnt = 0; #endregion public override IEnumerable<Appointment> GetAppointments(RadScheduler owner) { List<Appointment> appList = new List<Appointment>(); DateTime dtEndDate = new DateTime(); DateTime dtStartDate = new DateTime(); dsOrderView = objOrderView.GetPaged("CompanyIDF = " + (new clsPageBase()).SESSION_COMPANYID + "", "OrderDate", 0, int.MaxValue, out _int_cnt).ToDataSet(true); if (dsOrderView != null && dsOrderView.Tables.Count > 0) { for (int i = 0; i < dsOrderView.Tables[0].Rows.Count; i++) { if (!string.IsNullOrEmpty(dsOrderView.Tables[0].Rows[i]["StartDate"].ToString())) { if (string.IsNullOrEmpty(dsOrderView.Tables[0].Rows[i]["StartTime"].ToString()) == false) { dtStartDate = Convert.ToDateTime(Convert.ToDateTime(dsOrderView.Tables[0].Rows[i]["StartDate"]).ToString("MM dd yyyy") + " " + dsOrderView.Tables[0].Rows[i]["StartTime"].ToString()); } } if (!string.IsNullOrEmpty(dsOrderView.Tables[0].Rows[i]["FinishDate"].ToString())) { if (string.IsNullOrEmpty(dsOrderView.Tables[0].Rows[i]["FinishTime"].ToString()) == false) { dtEndDate = Convert.ToDateTime(Convert.ToDateTime(dsOrderView.Tables[0].Rows[i]["FinishDate"]).ToString("MM dd yyyy") + " " + dsOrderView.Tables[0].Rows[i]["FinishTime"].ToString()); } } Appointment newApponitment = new Appointment(); newApponitment.Owner = owner; newApponitment.ID = dsOrderView.Tables[0].Rows[i]["OrderID"].ToString(); newApponitment.Subject = dsOrderView.Tables[0].Rows[i]["Title"].ToString(); newApponitment.Start = dtStartDate; newApponitment.End = dtEndDate; Resource newResource = new Resource(); newResource.Type = "OrderStatus"; newResource.Key = newApponitment.ID; newResource.Text = dsOrderView.Tables[0].Rows[i]["OrderStatus"].ToString(); newApponitment.Resources.Add(newResource); appList.Add(newApponitment); } } return appList; } public override IEnumerable<ResourceType> GetResourceTypes(RadScheduler owner) { ResourceType[] resourceTypes = new ResourceType[1]; resourceTypes[0] = new ResourceType("OrderStatus", false); return resourceTypes; } public override IEnumerable<Resource> GetResourcesByType(RadScheduler owner, string resourceType) { List<Resource> OrderResources = new List<Resource>(); TList<OrderStatus> objOrderStatusList = new TList<OrderStatus>(); foreach (OrderStatus item in (new OrderStatusService()).GetAll()) { Resource newResource = new Resource(); newResource.Type = "OrderStatus"; newResource.Key = item.Id; newResource.Text = item.Status; OrderResources.Add(newResource); } return OrderResources; } public override void Insert(RadScheduler owner, Appointment appointmentToInsert) { throw new NotImplementedException(); } public override void Update(RadScheduler owner, Appointment appointmentToUpdate) { throw new NotImplementedException(); }}Html-Souce
<telerik:RadScheduler runat="server" ID="RadScheduler1" Skin="Default" ShowFooter="true" OverflowBehavior="Scroll" SelectedView="MonthView" Height="100%" NumberOfHoveredRows="1" DataKeyField="ID" DataSubjectField="Subject" DataStartField="Start" DataEndField="End"TimelineView-UserSelectable="false" Culture="(Default)" StartInFullTime="true"AllowDelete="false" AllowEdit="false" AllowInsert="false" ShowViewTabs="true"OnAppointmentDataBound="RadScheduler1_AppointmentDataBound" ProviderName="OpenAccessProvider" OnAppointmentCreated="RadScheduler1_AppointmentCreated"> <Localization AdvancedAllDayEvent="All day" /> <AdvancedForm DateFormat="M/d/yyyy" TimeFormat="h:mm tt" /> <AppointmentTemplate> <asp:LinkButton ID="lnkSubject" runat="server"></asp:LinkButton> </AppointmentTemplate></telerik:RadScheduler>Code-Behind
protected void RadScheduler1_AppointmentCreated(object sender, AppointmentCreatedEventArgs e) { Label lblRed = (Label)e.Container.FindControl("lblRed"); LinkButton lnkSubject = (LinkButton)e.Container.FindControl("lnkSubject"); lnkSubject.Text = clsGeneral.ShowSingleQuote(e.Appointment.Subject); //lnkSubject.Attributes.Add("onClick", "return DoFilter('" + e.Appointment.ID.ToString() + "','" + e.Appointment.Resources.GetResourceByType("OrderStatus").Text + "');"); lnkSubject.Attributes.Add("onclick", "return DisplayEventInformation(" + e.Appointment.ID.ToString() + " );"); lnkSubject.Attributes.Add("onmouseover", "javascript:ddrivetip('<b>Click here to manage this Event</b>',250);"); lnkSubject.Attributes.Add("onmouseout", "javascript:hideddrivetip();"); e.Appointment.ToolTip = ""; lblRed.Text = e.Appointment.Resources.GetResourceByType("OrderStatus").Text; } protected void RadScheduler1_AppointmentDataBound(object source, SchedulerEventArgs e) { Int64 OrderID = 0; OrderID = Convert.ToInt64(e.Appointment.ID); objOrders = objOrdersService.GetById(OrderID); DateTime dtOrder = Convert.ToDateTime(objOrders.OrderDate); DateTime dtStartOn = Convert.ToDateTime(e.Appointment.Start); DateTime dtToday = DateTime.Now; Int64 days = 0; Int64 days1 = 0; days = clsGeneral.DateDiff(clsGeneral.DateInterval.Hour, dtToday, dtStartOn); days = days / 24; days1 = clsGeneral.DateDiff(clsGeneral.DateInterval.Hour, dtOrder, dtStartOn); days1 = days1 / 24; //For the Highest Priority Order,Consider Today Date and StartUp Date //For the Rush Order,Consider the Order Date to Start Date Difference if (days1 <= 5) { e.Appointment.CssClass = "rsCategoryBlue"; } else { if (days <= 5) { e.Appointment.CssClass = "rsCategoryRed"; } else if (days > 5) { e.Appointment.CssClass = "rsCategoryYellow"; } } }Thanks
Pushkar