<telerik:GridMaskedColumn DataField="UnitPrice" DisplayMask="" HeaderText="Unit Price" Mask="$##,###.##" UniqueName="Unit Price" DataFormatString="{0:C2}"> <HeaderStyle HorizontalAlign="Center" Width="100px" /> <ItemStyle HorizontalAlign="Center" Width="100px" /> </telerik:GridMaskedColumn>
<telerik:GridMaskedColumn DataField="UnitPrice" DisplayMask="" HeaderText="Unit Price" Mask="$##,###.##" UniqueName="Unit Price" DataFormatString="{0:C2}"> <HeaderStyle HorizontalAlign="Center" Width="100px" /> <ItemStyle HorizontalAlign="Center" Width="100px" /> </telerik:GridMaskedColumn> <%@ Control Language="C#" AutoEventWireup="true" CodeBehind="ucQuickPlan.ascx.cs" Inherits="VEGAS_HPF.Hoofdmenu.Agenda.ucQuickPlan" %> <%@ Register Src="AdvancedForm.ascx" TagName="AdvancedForm" TagPrefix="scheduler" %> <style type="text/css"> .RadScheduler .rsAptSubject { text-align: left; padding: 4px 0 1px; margin: 0 0 3px; font-size: 12px; font-weight: bold; color: #369; height: 17px; border-bottom: 1px solid #99DEFD; width: 100%; } .RadScheduler .rsAdvancedEdit .RadColorPicker label { text-align: left; display: block; padding: 0; } </style> <script type="text/javascript"> //<![CDATA[ // Dictionary containing the advanced template client object // for a given RadScheduler instance (the control ID is used as key). var schedulerTemplates = {}; function schedulerFormCreated(scheduler, eventArgs) { // Create a client-side object only for the advanced templates var mode = eventArgs.get_mode(); if (mode == Telerik.Web.UI.SchedulerFormMode.AdvancedInsert || mode == Telerik.Web.UI.SchedulerFormMode.AdvancedEdit) { // Initialize the client-side object for the advanced form var formElement = eventArgs.get_formElement(); var templateKey = scheduler.get_id() + "_" + mode; var advancedTemplate = schedulerTemplates[templateKey]; if (!advancedTemplate) { // Initialize the template for this RadScheduler instance // and cache it in the schedulerTemplates dictionary var schedulerElement = scheduler.get_element(); var isModal = scheduler.get_advancedFormSettings().modal; advancedTemplate = new window.SchedulerAdvancedTemplate(schedulerElement, formElement, isModal); advancedTemplate.initialize(); schedulerTemplates[templateKey] = advancedTemplate; // Remove the template object from the dictionary on dispose. scheduler.add_disposing(function() { schedulerTemplates[templateKey] = null; }); } // Are we using Web Service data binding? if (!scheduler.get_webServiceSettings().get_isEmpty()) { // Populate the form with the appointment data var apt = eventArgs.get_appointment(); var isInsert = mode == Telerik.Web.UI.SchedulerFormMode.AdvancedInsert; advancedTemplate.populate(apt, isInsert); } } } //]]></script> <telerik:RadScheduler runat="server" ID="RadScheduler1" Width="750px" OnDataBound="RadScheduler1_DataBound" OnAppointmentDataBound="RadScheduler1_AppointmentDataBound" OnClientFormCreated="schedulerFormCreated" EnableDescriptionField="true" AppointmentStyleMode="Default" OnDataBinding="RadScheduler1_DataBinding" ayStartTime="08:00:00" DayEndTime="22:00:00" WorkDayStartTime="08:00:00" WorkDayEndTime="22:00:00" FirstDayOfWeek="Monday" LastDayOfWeek="Friday" HoursPanelTimeFormat="HH:mm" Height="100%" ShowViewTabs="false" Skin="Telerik" StartInsertingInAdvancedForm="true" StartEditingInAdvancedForm="true"> <AdvancedForm Modal="false" /> <AdvancedEditTemplate> <scheduler:AdvancedForm runat="server" ID="AdvancedEditForm1" Mode="Edit" Subject='<%# Bind("Subject") %>' Description='<%# Bind("Description") %>' Start='<%# Bind("Start") %>' End='<%# Bind("End") %>' RecurrenceRuleText='<%# Bind("RecurrenceRule") %>' UserID='<%# Bind("intPersoneelID") %>' RoomID='<%# Bind("intKamerID") %>' /> </AdvancedEditTemplate> <AdvancedInsertTemplate> <scheduler:AdvancedForm runat="server" ID="AdvancedInsertForm1" Mode="Insert" Subject='<%# Bind("Subject") %>' Start='<%# Bind("Start") %>' End='<%# Bind("End") %>' Description='<%# Bind("Description") %>' RecurrenceRuleText='<%# Bind("RecurrenceRule") %>' UserID='<%# Bind("intPersoneelID") %>' RoomID='<%# Bind("intKamerID") %>' /> </AdvancedInsertTemplate> <TimelineView UserSelectable="false" /> <TimeSlotContextMenuSettings EnableDefault="true" /> <AppointmentContextMenuSettings EnableDefault="true" /> </telerik:RadScheduler> public partial class ucQuickPlan : System.Web.UI.UserControl { protected void Page_Load(object sender, EventArgs e) { //RadScheduler1.ResourceTypes.Add(new ResourceType("User")); //RadScheduler1.Resources.Add(new Resource("User", "22", "Alex")); //RadScheduler1.Resources.Add(new Resource("User", "24", "Bob")); } protected void RadScheduler1_DataBinding(object sender, EventArgs e) { string strDateSelected = RadScheduler1.SelectedDate.ToShortDateString(); //RadScheduler1.DataSource = Agenda_cls.GetAgendaItems(intPersoneelID, strDateSelected); RadScheduler1.DataKeyField = "id"; RadScheduler1.DataStartField = "afspraakdatum"; RadScheduler1.DataEndField = "afspraakdatumEind"; RadScheduler1.DataSubjectField = "afspraakopmerkingen"; //RadScheduler1.GroupBy = "adviseur_id"; RadScheduler1.GroupingDirection = GroupingDirection.Horizontal; RadScheduler1.DataSource = cls_VEGAS_HPF.getDataset("exec sp_getAgendaItems", "ConnWB"); RadScheduler1.ResourceTypes.Clear(); DataTable dt_Adviseurs = cls_VEGAS_HPF.getDataTable("Exec sp_HypGetAdviseursInDienst", "ConnHPF"); ResourceType restype1 = new ResourceType("Adviseur"); restype1.DataSource = dt_Adviseurs; restype1.KeyField = "intPersoneelID"; restype1.TextField = "strNaam"; restype1.ForeignKeyField = "intPersoneelID"; RadScheduler1.ResourceTypes.Add(restype1); DataTable dt_Kamers = cls_VEGAS_HPF.getDataTable("SELECT * FROM tblDLocatieKamer", "ConnHPF"); ResourceType restype2 = new ResourceType("Kamer"); restype2.DataSource = dt_Kamers; restype2.KeyField = "intKamerID"; restype2.TextField = "strKamerNaam"; restype2.ForeignKeyField = "intKamerID"; RadScheduler1.ResourceTypes.Add(restype2); RadScheduler1.GroupBy = "Adviseur"; } protected void RadScheduler1_DataBound(object sender, EventArgs e) { //RadScheduler1.ResourceTypes.FindByName("User").AllowMultipleValues = true; //RadScheduler1.ResourceTypes.FindByName("Room").AllowMultipleValues = false; } protected void RadScheduler1_AppointmentDataBound(object sender, SchedulerEventArgs e) { string colorAttribute = e.Appointment.Attributes["AppointmentColor"]; if (!string.IsNullOrEmpty(colorAttribute)) { int colorValue; if (int.TryParse(colorAttribute, out colorValue)) { Color appointmentColor = Color.FromArgb(colorValue); e.Appointment.BackColor = appointmentColor; e.Appointment.BorderColor = Color.Black; e.Appointment.BorderStyle = BorderStyle.Solid; e.Appointment.BorderWidth = Unit.Pixel(1); } } e.Appointment.ToolTip = e.Appointment.Subject + ": " + e.Appointment.Description; } }I have a Telerik RAD Editor in a user control, so I can set defaults in one place to enable me to reuse the control where ever I need a rich text editor. When I add it to a page I want to validate the content property of the editor by using a RequiredFieldValidator control to ensure that the editor has content.
When I load the page I get,
"Control 'radEditor' referenced by the ControlToValidate property of 'ValidateEditor' cannot be validated."
After some research, I discovered decorating the class with [System.Web.UI.ValidationProperty("RadEditor")] will expose the validation property in the markup page, but when I add this attribute, the page doesn't throw the above error, but it is not respecting the RequiredFieldValidator hooked up to the control when I submit the page without content.
Any ideas?
Thanks,
Neil

protected void GetVotingsBtn_Click(object sender, EventArgs e)
{
RadGrid vGrid = null;
PlaceHolder GridPlaceHolder = (PlaceHolder)this.VotingRadPageView.FindControl("GridPlaceHolder");
if (GridPlaceHolder != null) { vGrid = (RadGrid)this.GridPlaceHolder.FindControl("VRadGrid"); }
}