<asp:XmlDataSource ID="XmlDSJATabs" runat="server" DataFile="~\App_Data\JATabStrip.xml" XPath="//TabCollection/Tab"></asp:XmlDataSource> <p> <telerik:RadTabStrip ID="testRadTabStrip" runat="server" DataTextField="Text" DataValueField="Text" DataSourceID="XmlDSJATabs" SelectedIndex="0" MultiPageID="RadMPJA" AutoPostBack="True" ontabdatabound="testRadTabStrip_TabDataBound" ontabclick="testRadTabStrip_TabClick" CausesValidation="False" ClickSelectedTab="True" > </telerik:RadTabStrip> <telerik:RadMultiPage ID="RadMPJA" runat="server"> <telerik:RadPageView ID="RPV1" runat="server" Width="100%"> PageView1</telerik:RadPageView> <telerik:RadPageView ID="RPV2" runat="server" Width="100%"> PageView2</telerik:RadPageView> <telerik:RadPageView ID="RPV3" runat="server" Width="100%"> PageView3</telerik:RadPageView> </telerik:RadMultiPage> </p><?xml version="1.0" encoding="utf-8" ?> <TabCollection> <Tab Text="Customer" PageViewID="RPV1"></Tab> <Tab Text="Product" PageViewID="RPV2"></Tab> <Tab Text="FAQ" PageViewID="RPV2"></Tab> </TabCollection>[WebMethod(EnableSession = true)]public IEnumerable<AppointmentData> GetAppointments(CustomSchedulerInfo schedulerInfo){ return Controller.GetAppointments(schedulerInfo);}public class SchedulerProvider : DbSchedulerProviderBase { public override IEnumerable<Appointment> GetAppointments(ISchedulerInfo schedulerInfo) { var scheduleInfo = schedulerInfo as CustomSchedulerInfo; } public override void Update(ISchedulerInfo schedulerInfo, Appointment appointmentToUpdate) { var scheduleInfo = schedulerInfo as CustomSchedulerInfo;
//NOTE: When this is called from the CreateRecurrenceException web service call that
scheduleInfo is cast as null. When this is called from the UpdateAppointment web service call
scheduleInfo is properly cast.
}}[WebService(Namespace = "http://tempuri.org/")] [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] [System.ComponentModel.ToolboxItem(false)] [System.Web.Script.Services.ScriptService] public class Scheduling : WebService, IRequiresSessionState { private WebServiceAppointmentController _controller; public const string ProviderSessionKey = "SchedulerWebServiceData"; private WebServiceAppointmentController Controller { get { SchedulerProvider provider; if ((Session[ProviderSessionKey] == null)) { provider = new SchedulerProvider(); Session[ProviderSessionKey] = provider; } else { provider = (SchedulerProvider)Session[ProviderSessionKey]; } if (_controller == null) { _controller = new WebServiceAppointmentController(provider); } return _controller; } } [WebMethod(EnableSession = true)] public IEnumerable<AppointmentData> GetAppointments(CustomSchedulerInfo schedulerInfo) { return Controller.GetAppointments(schedulerInfo); } [WebMethod(EnableSession = true)] public IEnumerable<AppointmentData> InsertAppointment(CustomSchedulerInfo schedulerInfo, AppointmentData appointmentData) { return Controller.InsertAppointment(schedulerInfo, appointmentData); } [WebMethod(EnableSession = true)] public IEnumerable<AppointmentData> UpdateAppointment(CustomSchedulerInfo schedulerInfo, AppointmentData appointmentData) { return Controller.UpdateAppointment(schedulerInfo, appointmentData); } [WebMethod(EnableSession = true)] public IEnumerable<AppointmentData> CreateRecurrenceException(CustomSchedulerInfo schedulerInfo, AppointmentData recurrenceExceptionData) { return Controller.CreateRecurrenceException(schedulerInfo, recurrenceExceptionData); } [WebMethod(EnableSession = true)] public IEnumerable<AppointmentData> RemoveRecurrenceExceptions(CustomSchedulerInfo schedulerInfo, AppointmentData masterAppointmentData) { return Controller.RemoveRecurrenceExceptions(schedulerInfo, masterAppointmentData); } [WebMethod(EnableSession = true)] public IEnumerable<AppointmentData> DeleteAppointment(CustomSchedulerInfo schedulerInfo, AppointmentData appointmentData, bool deleteSeries) { return Controller.DeleteAppointment(schedulerInfo, appointmentData, deleteSeries); } [WebMethod(EnableSession = true)] public IEnumerable<ResourceData> GetResources(CustomSchedulerInfo schedulerInfo) { return Controller.GetResources(schedulerInfo); } }One of the limitations of the RadEditor for MOSS feature is that it is unable to support object and embed tags when used as the replacement rich text editor in lists. I have come to the conclusion that this is actually a function of the underlying sharepoint field type. However, new, custom, field types are a reality in sharepoint development, and by simply using the default WSP builder template, I have created a custom field that does not suppress these tags. From there my natural instinct is to use the RadEditor for MOSS as the editor control; however, it doesn't have the necessary control properties exposed to do so. (no public content or text properties) Therefore, I'm attempting to use the standard RadEditor. This is perhaps more of a sharepoint question, but for anyone interested, after littering the code with debugging stops, the last method it leaves is the one below:
protected override void CreateChildControls() { if (Field == null) return; base.CreateChildControls(); if (ControlMode == SPControlMode.Display) ConstructDisplayMode(); else { ConstructEditMode(); if (ControlMode == SPControlMode.New) { OpenHTMLField field = (OpenHTMLField)base.Field; } } }05/28/2012 16:15:56.08 w3wp.exe (0x0FE4) 0x17C8 CMS Publishing 8zug Medium PublishingHttpModule.Init() calling AppDomainUnloadListener.Register() 05/28/2012 16:15:56.08 w3wp.exe (0x0FE4) 0x17C8 CMS Publishing 8x0a High AppDomainUnloadListener.RegisterSelf() entered lock(this=34622967) 05/28/2012 16:15:56.08 w3wp.exe (0x0FE4) 0x17C8 CMS Publishing 8zug Medium PublishingHttpModule.Init() calling AppDomainUnloadListener.Register() 05/28/2012 16:15:56.08 w3wp.exe (0x0FE4) 0x17C8 CMS Publishing 8x0a High AppDomainUnloadListener.RegisterSelf() entered lock(this=34622967)
<meta http-equiv="X-UA-Compatible" content="IE=8" /><telerik:GridBoundColumn DataField="DateIn" HeaderStyle-Width="145px" DataType="System.DateTime" DataFormatString="{0:MMM/dd/yyyy}" HeaderText="Date In" ItemStyle-HorizontalAlign="Left"> <FilterTemplate> <div style="width:35px;float:left; padding-top:2px;">From:</div> <div style="float:left; padding-bottom:1px;"><telerik:RadDatePicker ID="FromDateInPicker" runat="server" Width="90px" ClientEvents-OnDateSelected="FromDateSelected" DbSelectedDate='<%# startDateIn %>'><DateInput Font-Size="11px" /><Calendar><SpecialDays><telerik:RadCalendarDay Repeatable="Today" ItemStyle-CssClass="rcToday" /></SpecialDays></Calendar></telerik:RadDatePicker></div> <div style="width:35px; clear: both; float:left; padding-top:2px;">To:</div> <div style="float:left;"><telerik:RadDatePicker ID="ToDateInPicker" runat="server" Width="90px" ClientEvents-OnDateSelected="ToDateSelected" DbSelectedDate='<%# endDateIn %>'><DateInput Font-Size="11px" /><Calendar><SpecialDays><telerik:RadCalendarDay Repeatable="Today" ItemStyle-CssClass="rcToday" /></SpecialDays></Calendar></telerik:RadDatePicker></div> </FilterTemplate></telerik:GridBoundColumn>protected void RadGrid_Months_DataBound(object sender, EventArgs e){ foreach (GridBoundColumn col in RadGrid_Months.MasterTableView.AutoGeneratedColumns) { if(col.UniqueName != "Namn") col.Aggregate = GridAggregateFunction.Sum; }}With the previous RadEditor we could use an .aspx for a modal dialog from the toolbar. Now it seems it has to be .ascx user control, meaning all the dialogs we wrote as web pages before will not work now. Is this the case? The new radwindow still seems to use aspx’s for dialogs, so I’m curious why the ascx change for the RadEditor. I hope we can still use aspx's for dialogs, as converting them all to ascx's will be far from trivial for us.
