RadScheduler1_AppointmentDelete
appointments are showing in the defined colors usingRadScheduler1_AppointmentDataBound
but when i am changing the start time and end time using drag and drop with in the scheduler
RadScheduler1_AppointmentUpdate is calling and the color is not changing depending upon the above example logic.
and when ever this event is calling RadScheduler1_AppointmentDataBound is not calling
protected void RadScheduler1_AppointmentUpdate(object sender, AppointmentUpdateEventArgs e)
{
int
id = (int)e.ModifiedAppointment.ID;
string duration = e.ModifiedAppointment.Duration.ToString();
string starttime = e.ModifiedAppointment.Start.TimeOfDay.ToString();
string endtime = e.ModifiedAppointment.End.TimeOfDay.ToString();
string date = e.ModifiedAppointment.Start.ToShortDateString();
int resourceId = (int)e.ModifiedAppointment.Resources.GetResourceByType("Chair").Key;
ScheduleUpdate(id, starttime, endtime, duration, date, resourceId);
//Change the appointment colors which are already closed i.e appointmetn end time less than the current time.
if (Convert.ToDateTime(e.ModifiedAppointment.End) < Convert.ToDateTime(DateTime.Now.Hour.ToString() + ":" + DateTime.Now.Minute.ToString()))
{
e.Appointment.BackColor = System.Drawing.
Color.Gray;
e.Appointment.ForeColor = System.Drawing.
Color.White;
}
//Change the appointment colors which are not started i.e appointmetn start time greater than the current time.
else if (Convert.ToDateTime(e.ModifiedAppointment.Start) > Convert.ToDateTime(DateTime.Now.Hour.ToString() + ":" + DateTime.Now.Minute.ToString()))
{
e.Appointment.BackColor = System.Drawing.
Color.Yellow;
e.Appointment.ForeColor = System.Drawing.
Color.Blue;
}
else
{
e.Appointment.BackColor = System.Drawing.
Color.Green;
e.Appointment.ForeColor = System.Drawing.
Color.White;
}
RadScheduler1.Rebind();
RadGrid1.Columns[3].Visible = true;
RadToolTipManager2.TargetControls.Clear();
RadGrid1.Rebind();
RadGrid1.Columns[3].Visible =
false;
RadAjaxManager1.AjaxSettings.AddAjaxSetting(RadScheduler1, RadScheduler1);
RadAjaxManager1.AjaxSettings.AddAjaxSetting(RadScheduler1, RadToolTipManager1);
}
2.
How to restrict the users to resize the appoinments with out customizing. Is there any inbuilt property in scheduler control.
3.
ShowHoursColumn="False"
I set the property of the scheduler but its showing the vertical line . I want to remove that line. Is there any way to remove that line from GUI.
4.
In Hours Column time (08:00) is showing top of the TimeLabelSpan but i want to set to middle of the TimeLabelSpan.
5.
I added some contextMenuItems to the appointments and when ever i click on contextMenuItem its opening a new browser.
But i want to open the contextMenuItem windows as popups.
Is there any inbuilt feature to achieve this.
6.How to change the color of 2 timeslots (30 mints) after the each Appointment End Time to RED color.
7. In
RadScheduler1_AppointmentUpdate
Event i am getting the below error and data is updating correctly.
Sys.WebForms.PageRequestMangerServerErrorException: Procedure or function UpdateDetails has too many arguments specified.
How rosolve the above error.
Code:
IDataSource
dataSource = SchedulerDataSource;
DataSourceView view = dataSource.GetView("DefaultView");
IDictionary keys = new OrderedDictionary();
IOrderedDictionary data = new OrderedDictionary();
data.Add(
"UPStartTime", starttime);
data.Add(
"UPEndTime", endtime);
data.Add(
"UPDuration", duration);
data.Add(
"UPUpdatedBy", "242675");
data.Add(
"UPDate", date);
data.Add(
"UPChairId", resourceId);
data.Add(
"UPAppointmentID", id);
int j = data.Count;
view.Update(keys, data ,
new OrderedDictionary(), OnDataSourceOperationComplete);
I tried to resolve using the onupdating="SchedulerDataSource_Updating" event to remove the extra Parameters added by VS.
8.
TimeSlotContextMenus are showing when user click on resources. How to restirct it.
9.
In RadGrid there are 5 columns and i want to give sorting feature to only 2 columns in that grid but in the front end users are able to
sort using all the columns. How to restrict some columns for sorting by clicking on the grid columns.
<SortExpressions>
<telerik:GridSortExpression FieldName="TeammateName" SortOrder="Ascending" />
<telerik:GridSortExpression FieldName="Role" SortOrder="Ascending" />
</SortExpressions>
10.Please go through the attached screen and the questions about the attached screen shot are
1. How to remove the blue color in b/t the two schedulers.
2. Whenever I click on New Appointment its showing like below.
3. Whenever we are moving the appointments we are getting the below java script error.
Please Give any suggestions ASAP.
Please suggest any reference links for all the above points.
Thanks in advance.
<%@
Control Language="C#" AutoEventWireup="true" CodeFile="Upload.ascx.cs"
Inherits="WebComponents.UserControls.CommonControls.Upload.Upload.Upload"
%><%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %><script type="text/javascript"> function ValidatePhoneNumber(sender, args) { if (document.getElementById('<%= txtPhonePartOne.ClientID %>').value.length < 1 || document.getElementById('<%= txtPhonePartTwo.ClientID %>').value.length < 1 || document.getElementById('<%= txtPhonePartThree.ClientID %>').value.length < 1) { args.IsValid = false; } } //auto move cursor through phone fields function checkLen(fieldToMeasure, fieldToJump) { var currentLength = document.getElementById(fieldToMeasure).value.length; if (currentLength == 3) { document.getElementById(fieldToJump).focus() } } //client side validation for phone number function checkPhone(sender, args) { if (document.getElementById('<%= txtPhonePartOne.ClientID %>').value.length < 1 || document.getElementById('<%= txtPhonePartTwo.ClientID %>').value.length < 1 || document.getElementById('<%= txtPhonePartThree.ClientID %>').value.length < 1) { args.IsValid = false; } } //validate valid file type function ValidateRadUpload1(source, arguments) { arguments.IsValid = getRadUpload('<%= radUpload.ClientID %>').validateExtensions(); } //update label for upload function updateUploadLabel(fieldToUpdate, textToDisplay) { var pageIsValid = Page_ClientValidate(); if (pageIsValid) { document.getElementById(fieldToUpdate).innerHTML = textToDisplay; } }</script><asp:Label ID="lblErrorMessage" runat="server"></asp:Label><asp:ValidationSummary ID="vsForm" runat="server" CssClass="errorsummary" /><fieldset class="radContainer"> <legend> <asp:Literal ID="litDocumentUploadHeader" runat="server" Text="<%$ Resources:litDocumentHeader %>"></asp:Literal></legend> <p> <asp:Literal ID="litAllowedFileTypes" runat="server" Text="" /></p> <div class="input"> <label for="ddlInquiryType"> <asp:Literal ID="litDocumentType" runat="server" Text="<%$ Resources:litDocumentType %>"></asp:Literal> </label> <asp:DropDownList ID="ddlDocumentType" CssClass="first" runat="server" AppendDataBoundItems="true"> </asp:DropDownList> <asp:RequiredFieldValidator ID="reqDocumentType" ErrorMessage="<%$ Resources:reqDocumentType %>" ControlToValidate="ddlDocumentType" Display="Dynamic" runat="server" Text="*" CssClass="errorindicator"></asp:RequiredFieldValidator> </div> <br class="end" /> <div class="file"> <asp:Literal ID="litUpload" runat="server" Text="<%$ Resources:litUpload %>" /><br /> <telerik:RadUpload ID="radUpload" runat="server" InputSize="45" Width="500px" Skin="Test" EnableEmbeddedSkins="false" /> <asp:CustomValidator runat="server" Display="none" CssClass="errorindicator" ID="cusFileType" ClientValidationFunction="ValidateRadUpload" OnServerValidate="radUploadCustomValidator_ServerValidate" ErrorMessage="<%$ Resources:cusFileType %>" /> </div> <div> <asp:Label ID="lblNoResults" runat="server" Visible="True" CssClass="transferMessage" /> <telerik:RadProgressManager ID="radProgressManager" runat="server" /> <telerik:RadProgressArea runat="server" ID="ProgressArea1" DisplayCancelButton="True" ProgressIndicators="TotalProgressBar,
TotalProgress, RequestSize, FilesCountBar, FilesCount,
SelectedFilesCount, CurrentFileName, TimeElapsed, TimeEstimated,
TransferSpeed" Skin="Default" EnableEmbeddedSkins="true"> <Localization Uploaded="Uploaded" /> </telerik:RadProgressArea> </div></fieldset><div class="input comment"> <asp:Literal ID="litComments" runat="server" Text="<%$ Resources:litComments %>"></asp:Literal> <asp:RegularExpressionValidator ID="regexComments" runat="server" CssClass="errorindicator" ControlToValidate="txtComments" Text="*" Display="Dynamic" EnableClientScript="false" ErrorMessage="<%$ Resources:regexComments %>" ValidationExpression="^.[\s\S]{1,10000}$"></asp:RegularExpressionValidator> <asp:TextBox ID="txtComments" runat="server" TextMode="MultiLine" MaxLength="10000" /></div><div class="end"></div><div id="divSubmit"> <asp:Button ID="btnSubmit" runat="server" Text="<%$ Resources:btnSubmit %>" OnClick="btnSubmit_Click" /></div>using InstalledWebComponents.Library.Email;using System;using System.Collections;using System.Collections.Generic;using System.Configuration;using System.Linq;using System.Text;using System.Text.RegularExpressions;using System.Web;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using Telerik.Sitefinity.GenericContent.Model;using Telerik.Sitefinity.Lists.Model;using Telerik.Sitefinity.Modules.Lists;using Telerik.Sitefinity.Workflow;using Telerik.Web.UI;namespace WebComponents.UserControls.CommonControls.Upload.Upload{ public partial class Upload : System.Web.UI.UserControl { private const string LIST_NAME = "Upload Document Types"; Regex regEx = new Regex(@"^([\(]{1}[0-9]{3}[\)]{1}[\.| |\-]{0,1}|^[0-9]{3}[\.|\-| ]?)?[0-9]{3}(\.|\-| )?[0-9]{4}$"); private string _onCompletionRedirectUrl; private string ldc = string.Empty; [Personalizable(PersonalizationScope.Shared), WebBrowsable(), WebDisplayName("On completion redirect user to this page"), WebDescription("On completion redirect user to this page")] [System.ComponentModel.Description("On completion redirect user to this page.")] public string OnCompletionRedirectUrl { get { if (string.IsNullOrEmpty(_onCompletionRedirectUrl)) _onCompletionRedirectUrl = "~/thankyou"; return _onCompletionRedirectUrl; } set { _onCompletionRedirectUrl = value; } } protected void Page_Init(object sender, EventArgs e) { BindInquiryTypes(); } protected void Page_Load(object sender, EventArgs e) { txtPhonePartOne.Attributes.Add("onKeyUp", string.Format("checkLen('{0}','{1}')", txtPhonePartOne.ClientID, txtPhonePartTwo.ClientID)); txtPhonePartTwo.Attributes.Add("onKeyUp", string.Format("checkLen('{0}','{1}')", txtPhonePartTwo.ClientID, txtPhonePartThree.ClientID)); SetObjectsVisibility(); string domain = Request.Url.Host.ToUpperInvariant(); } protected void validatePhoneNumber_ServerValidate(object source, ServerValidateEventArgs args) { string phoneNumber = EmailForm.CombinePhoneNumberParts(txtPhonePartOne.Text, txtPhonePartTwo.Text, txtPhonePartThree.Text); if (phoneNumber.Length > 0) { args.IsValid = regEx.Match(phoneNumber).Success; } } private void BindInquiryTypes() { ddlDocumentType.Items.Clear(); List<Telerik.Sitefinity.Lists.Model.ListItem> list = EmailForm.GetList(LIST_NAME).ListItems.ToList(); List<string> itemList = new List<string>(); itemList.Add("Select Document Type"); for (int index = 0; index < list.Count; index++) { if (!itemList.Contains(list[index].Title)) { itemList.Add(list[index].Title); } } ddlDocumentType.DataSource = itemList; ddlDocumentType.DataBind(); } private void SetObjectsVisibility() { string strAllowedFileType = EmailForm.FindListItem(EmailForm.GetList("Upload Document Allowed File Types"), "allowed file types").Content.ToString(); string[] arrAllowedFileTypes = strAllowedFileType.Split(new char[] { ',' }); radUpload.ControlObjectsVisibility = ControlObjectsVisibility.None; radUpload.ControlObjectsVisibility |= ControlObjectsVisibility.AddButton; radUpload.ControlObjectsVisibility |= ControlObjectsVisibility.RemoveButtons; radUpload.MaxFileInputsCount = 5; radUpload.MaxFileSize = 524288000; //500MB radUpload.AllowedFileExtensions = arrAllowedFileTypes; radUpload.Localization.Add = GetLocalResourceObject("RadUploadAddButtonText").ToString(); litAllowedFileTypes.Text = strAllowedFileType; } protected void btnSubmit_Click(object sender, EventArgs e) { if (!Page.IsValid) return; if (txtPhonePartOne.Text.Length < 3 || txtPhonePartTwo.Text.Length < 3 || txtPhonePartThree.Text.Length < 4) { lblErrorMessage.Text = "Phone Number is not valid"; return; } SendEmail(); ShowResults(); if (lblErrorMessage.Text.Length == 0) Response.Redirect(OnCompletionRedirectUrl); } private void ShowResults() { //load results into session variable //todo create session handling class ArrayList arlUploadedFiles = new ArrayList(); ArrayList arlInvalidFiles = new ArrayList(); if (radUpload.UploadedFiles.Count > 0) { foreach (UploadedFile file in radUpload.UploadedFiles) { arlUploadedFiles.Add(file.FileName.ToString()); } Session["SuccessfullyUploadedFiles"] = arlUploadedFiles; } if (radUpload.InvalidFiles.Count > 0) { foreach (UploadedFile invalidfile in radUpload.InvalidFiles) { arlInvalidFiles.Add(invalidfile.FileName.ToString()); } Session["InvalidFilesRejectedForUpload"] = arlInvalidFiles; } } private bool SendEmail() { //Sends submitted form data and file(s) return true; } private string BuildEmailBody() { //Builds email body and returns string return "Email body content" } protected void radUploadCustomValidator_ServerValidate(object source, ServerValidateEventArgs eventArgs) { eventArgs.IsValid = (radUpload.InvalidFiles.Count == 0); } }}