Protected Sub RadGrid1_ItemDataBound(sender As Object, e As GridItemEventArgs) Handles RadGrid1.ItemDataBound If TypeOf e.Item Is GridDataItem Then Dim item As GridDataItem = DirectCast(e.Item, GridDataItem) Dim nActualQty As RadNumericTextBox = TryCast(item.FindControl("nActualQty"), RadNumericTextBox) Dim nActualAmount As RadNumericTextBox = TryCast(item.FindControl("nActualAmount"), RadNumericTextBox) ' This injects a javascript function to do the automatic line calculations nActualQty.Attributes.Add("onblur", "calculateLine('" & DataBinder.Eval(e.Item.DataItem, "Is_CPM") & "','" & DataBinder.Eval(e.Item.DataItem, "Rate") & "','" & nActualQty.ClientID & "','" & nActualAmount.ClientID & "')") End IfEnd Subfunction calculateLine(cpm, rate, quantity, totalAmount) { var q = parseFloat($find(quantity).get_value()); // This is the WRONG / OLD value var q = parseFloat($find(quantity).get_textBoxValue()); // This is now the right value ?! var t = $find(totalAmount); if (cpm == 'Y') { rate = parseFloat(rate) / 1000; } console.log('rate(' + rate + ') * q(' + q + ')'); t.set_value(rate * q);}I probably miss some fundamentals.
1.On delete event the flow goes to AppointmentCreated event and then twice hit AppointmentDelete Event
On AppointmentInsert event the flow hits twice too and this create 2 records in the database
2. I show the same timeslotcontext menu on right and left mouse click. On the right mouse click
OnClientAppointmentInserting is working properly. On the left mouse click
OnClientAppointmentInserting gives me the error message right after
timeSlotClick event before timeSlotContextMenuItemClicking and OnClientAppointmentInserting
event, so , please advise how to handle this.
3. I have CSS issues in the AdvanceInsert or Edit form: all my dropdowns do not show the arrow and scrolls, Recurrence editor does not show spin images
I created 3 support tickets 658678, 659352, 659845. I am doing proof project for the Radscheduler
Thank you for your help
My attachments in the ticket 659352
Thank you for your help

<?xml version="1.0" encoding="utf-8" ?><CustomFileBrowserProvider> <Paths> <genericHandlerPath>FileSystemHandler.ashx</genericHandlerPath> </Paths> <Mappings> <Mapping> <PhysicalPath><![CDATA[ D:\MarceloEscobar\Descargas del Reloj\Central]]></PhysicalPath> <VirtualPath><![CDATA[descargascentral]]></VirtualPath> </Mapping> </Mappings></CustomFileBrowserProvider><telerik:RadAjaxPanel ID="RadAjaxPanel1" runat="server" LoadingPanelID="progress"> <telerik:RadFormDecorator ID="FormDecorator1" runat="server" Skin="Office2007" /> <asp:Label runat="server" Font-Size="Large" ID="lblEncabezado" CssClass="label" Text="Incorporar Archivos del Reloj:" /> <telerik:RadFileExplorer ID="FileExplorer1" runat="server" DisplayUpFolderItem="false" AllowPaging="true" EnableOpenFile="true" PageSize="7" EnableAsyncUpload="false" EnableCopy="false" EnableCreateNewFolder="false" Height="310px" OnClientFileOpen="OnClientFileOpen" OnClientMove="OnClientMove" Skin="Office2007" VisibleControls="Grid" Width="600px"> <Configuration SearchPatterns="*.REI" /> </telerik:RadFileExplorer> <br /> Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load If Not Page.IsPostBack Then Dim ruta = "descargascentral" FileExplorer1.Configuration.ContentProviderTypeName = _ GetType(CustomFileSystemProvider).AssemblyQualifiedName Dim rutas As String() = New String() {ruta} FileExplorer1.Grid.ClientSettings.AllowRowsDragDrop = False FileExplorer1.Configuration.ViewPaths = rutas FileExplorer1.Grid.ClientSettings.Scrolling.AllowScroll = True End IfEnd Sub<telerik:RadNumericTextBox NumberFormat-DecimalDigits="0" ID="txtGreaterThan" Type="Number" MaxLength="7" MinValue="0" MaxValue="9999999" Width="85px" runat="server" />
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="MacroTesting.aspx.cs" Inherits="corCalendarSpecialEvents.MacroTesting" %><%@ Register src="usercontrols/corCalendarSpecialEvents.ascx" tagname="corCalendarSpecialEvents" tagprefix="uc1" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head runat="server"> <title></title></head><body> <form id="form1" runat="server"> <asp:ScriptManager ID="ScriptManager1" runat="server" EnableScriptGlobalization="true"> </asp:ScriptManager> <div> <uc1:corCalendarSpecialEvents ID="corCalendarSpecialEvents1" runat="server" /> </div> </form></body>
</html> <%@ Control Language="C#" AutoEventWireup="true" CodeBehind="corCalendarSpecialEvents.ascx.cs" Inherits="corCalendarSpecialEvents.usercontrols.corCalendarSpecialEvents" %><%@ Register assembly="Telerik.Web.UI" namespace="Telerik.Web.UI" tagprefix="telerik" %><script type="text/javascript" src="http://www.site.com/Scripts/corCalendarEvent.js"></script><script type="text/javascript"> function DisplayEventDetails(sender, eventArgs) { var IE = navigator.userAgent; if (IE.match("MSIE")) { var apt = eventArgs.get_appointment(); var IE = navigator.userAgent; var startDate = new Date(); var endDate = new Date(); startDate = apt.get_start(); endDate = apt.get_end(); startDate = dateFormat(startDate, "dddd, mmmm, dS, yyyy, hh:MM:ss TT"); endDate = dateFormat(endDate, "dddd, mmmm, dS, yyyy, hh:MM:ss TT"); alert("Event: " + apt.get_subject() + "\n" + "Description: " + apt.get_description() + "\n" + "Start: " + startDate.toString() + " CST" + "\n" + "End: " + endDate.toString() + " CST"); } else { var oWnd = $find("<%=corEventWindow.ClientID %>"); var apt = eventArgs.get_appointment(); subject = apt.get_subject(); description = apt.get_description(); start = apt.get_start(); end = apt.get_end(); start = dateFormat(start, "dddd, mmmm, dS, yyyy, hh:MM:ss TT"); end = dateFormat(end, "dddd, mmmm, dS, yyyy, hh:MM:ss TT"); document.getElementById("corEventText").innerHTML = subject; document.getElementById("corEventDescription").innerHTML = description; document.getElementById("corEventStart").innerHTML = start.toString() + " CST"; document.getElementById("corEventEnd").innerHTML = end.toString() + " CST"; oWnd.show(); } }</script><telerik:RadScheduler ID="rsCorSECalendar" runat="server" DataDescriptionField="Description" DataEndField="End" DataKeyField="ID" DataRecurrenceField="RecurrenceRule" DataRecurrenceParentKeyField="RecurrenceParentID" DataReminderField="Reminder" DataSourceID="corSPCalendar" DataStartField="Start" DataSubjectField="Subject" StartEditingInAdvancedForm="False" EnableDescriptionField="True" SelectedView="MonthView" Width="794px" ReadOnly="true" Height="575px" OnClientAppointmentClick="DisplayEventDetails" Skin="Telerik" AdvancedForm-Modal="true" Culture="en-US"> <AppointmentTemplate> <div id="corSEApptTemplate" style="font-family:Calibri;font-size:10pt;"> <span style="font-weight:bold">Event: </span><%# Eval("Subject") %> <br /> <span style="font-weight:bold">Description: </span><%# Eval("Description") %> <br /> <span style="font-weight:bold">Start Time: </span><%# Eval("Start") %> <span style="font-weight:bold">End Time: </span><%# Eval("End") %> </div> </AppointmentTemplate></telerik:RadScheduler><asp:SqlDataSource ID="corSPCalendar" runat="server" ConflictDetection="CompareAllValues" ConnectionString="<%$ ConnectionStrings:corCalendarSpecialEvents %>" DeleteCommand="DELETE FROM [Appointments] WHERE [ID] = @original_ID AND [Subject] = @original_Subject AND (([Description] = @original_Description) OR ([Description] IS NULL AND @original_Description IS NULL)) AND [Start] = @original_Start AND [End] = @original_End AND (([RoomID] = @original_RoomID) OR ([RoomID] IS NULL AND @original_RoomID IS NULL)) AND (([UserID] = @original_UserID) OR ([UserID] IS NULL AND @original_UserID IS NULL)) AND (([RecurrenceRule] = @original_RecurrenceRule) OR ([RecurrenceRule] IS NULL AND @original_RecurrenceRule IS NULL)) AND (([RecurrenceParentID] = @original_RecurrenceParentID) OR ([RecurrenceParentID] IS NULL AND @original_RecurrenceParentID IS NULL)) AND (([Reminder] = @original_Reminder) OR ([Reminder] IS NULL AND @original_Reminder IS NULL)) AND (([Annotations] = @original_Annotations) OR ([Annotations] IS NULL AND @original_Annotations IS NULL))" InsertCommand="INSERT INTO [Appointments] ([Subject], [Description], [Start], [End], [RoomID], [UserID], [RecurrenceRule], [RecurrenceParentID], [Reminder], [Annotations]) VALUES (@Subject, @Description, @Start, @End, @RoomID, @UserID, @RecurrenceRule, @RecurrenceParentID, @Reminder, @Annotations)" OldValuesParameterFormatString="original_{0}" SelectCommand="SELECT * FROM [Appointments]" UpdateCommand="UPDATE [Appointments] SET [Subject] = @Subject, [Description] = @Description, [Start] = @Start, [End] = @End, [RoomID] = @RoomID, [UserID] = @UserID, [RecurrenceRule] = @RecurrenceRule, [RecurrenceParentID] = @RecurrenceParentID, [Reminder] = @Reminder, [Annotations] = @Annotations WHERE [ID] = @original_ID AND [Subject] = @original_Subject AND (([Description] = @original_Description) OR ([Description] IS NULL AND @original_Description IS NULL)) AND [Start] = @original_Start AND [End] = @original_End AND (([RoomID] = @original_RoomID) OR ([RoomID] IS NULL AND @original_RoomID IS NULL)) AND (([UserID] = @original_UserID) OR ([UserID] IS NULL AND @original_UserID IS NULL)) AND (([RecurrenceRule] = @original_RecurrenceRule) OR ([RecurrenceRule] IS NULL AND @original_RecurrenceRule IS NULL)) AND (([RecurrenceParentID] = @original_RecurrenceParentID) OR ([RecurrenceParentID] IS NULL AND @original_RecurrenceParentID IS NULL)) AND (([Reminder] = @original_Reminder) OR ([Reminder] IS NULL AND @original_Reminder IS NULL)) AND (([Annotations] = @original_Annotations) OR ([Annotations] IS NULL AND @original_Annotations IS NULL))"> <DeleteParameters> <asp:Parameter Name="original_ID" Type="Int32" /> <asp:Parameter Name="original_Subject" Type="String" /> <asp:Parameter Name="original_Description" Type="String" /> <asp:Parameter Name="original_Start" Type="DateTime" /> <asp:Parameter Name="original_End" Type="DateTime" /> <asp:Parameter Name="original_RoomID" Type="Int32" /> <asp:Parameter Name="original_UserID" Type="Int32" /> <asp:Parameter Name="original_RecurrenceRule" Type="String" /> <asp:Parameter Name="original_RecurrenceParentID" Type="Int32" /> <asp:Parameter Name="original_Reminder" Type="String" /> <asp:Parameter Name="original_Annotations" Type="String" /> </DeleteParameters> <InsertParameters> <asp:Parameter Name="Subject" Type="String" /> <asp:Parameter Name="Description" Type="String" /> <asp:Parameter Name="Start" Type="DateTime" /> <asp:Parameter Name="End" Type="DateTime" /> <asp:Parameter Name="RoomID" Type="Int32" /> <asp:Parameter Name="UserID" Type="Int32" /> <asp:Parameter Name="RecurrenceRule" Type="String" /> <asp:Parameter Name="RecurrenceParentID" Type="Int32" /> <asp:Parameter Name="Reminder" Type="String" /> <asp:Parameter Name="Annotations" Type="String" /> </InsertParameters> <UpdateParameters> <asp:Parameter Name="Subject" Type="String" /> <asp:Parameter Name="Description" Type="String" /> <asp:Parameter Name="Start" Type="DateTime" /> <asp:Parameter Name="End" Type="DateTime" /> <asp:Parameter Name="RoomID" Type="Int32" /> <asp:Parameter Name="UserID" Type="Int32" /> <asp:Parameter Name="RecurrenceRule" Type="String" /> <asp:Parameter Name="RecurrenceParentID" Type="Int32" /> <asp:Parameter Name="Reminder" Type="String" /> <asp:Parameter Name="Annotations" Type="String" /> <asp:Parameter Name="original_ID" Type="Int32" /> <asp:Parameter Name="original_Subject" Type="String" /> <asp:Parameter Name="original_Description" Type="String" /> <asp:Parameter Name="original_Start" Type="DateTime" /> <asp:Parameter Name="original_End" Type="DateTime" /> <asp:Parameter Name="original_RoomID" Type="Int32" /> <asp:Parameter Name="original_UserID" Type="Int32" /> <asp:Parameter Name="original_RecurrenceRule" Type="String" /> <asp:Parameter Name="original_RecurrenceParentID" Type="Int32" /> <asp:Parameter Name="original_Reminder" Type="String" /> <asp:Parameter Name="original_Annotations" Type="String" /> </UpdateParameters></asp:SqlDataSource><telerik:RadWindowManager ID="rwmSECalendar" AutoSize="false" KeepInScreenBounds="true" runat="server"> <Windows> <telerik:RadWindow ID="corEventWindow" runat="server" Title="Event Details" IconUrl="http://www.rockfordil.gov/media/view_calendar_tasks.png" VisibleOnPageLoad="false" Width="560px" Height="350px" Skin="Telerik" Modal="true"> <ContentTemplate> <div id="corEvent" class="corEvent"> <p style="padding-left: 10px; padding-right:10px;"> <span style="font-family:Calibri,Trebuchet MS, Arial; font-size: 20pt; font-weight:bold;">Event:</span> <span id="corEventText" style="font-family:Calibri,Trebuchet MS, Arial; font-size: 14pt;"></span> <br /> <br /> <span style="font-family:Calibri,Trebuchet MS, Arial; font-size: 20pt; font-weight:bold;">Description:</span> <span id="corEventDescription" style="font-family:Calibri,Trebuchet MS, Arial; font-size: 14pt;"></span> <br /> <br /> <span style="font-family:Calibri,Trebuchet MS, Arial; font-size: 20pt; font-weight:bold;">Start:</span> <span id="corEventStart" style="font-family:Calibri,Trebuchet MS, Arial; font-size: 14pt;"></span> <br /> <br /> <span style="font-family:Calibri,Trebuchet MS, Arial; font-size: 20pt; font-weight:bold;">End:</span> <span id="corEventEnd" style="font-family:Calibri,Trebuchet MS, Arial; font-size: 14pt;"></span> </p> </div> </ContentTemplate> </telerik:RadWindow> </Windows></telerik:RadWindowManager>var dateFormat = function () { var token = /d{1,4}|m{1,4}|yy(?:yy)?|([HhMsTt])\1?|[LloSZ]|"[^"]*"|'[^']*'/g, timezone = /\b(?:[PMCEA][SDP]T|(?:Pacific|Mountain|Central|Eastern|Atlantic) (?:Standard|Daylight|Prevailing) Time|(?:GMT|UTC)(?:[-+]\d{4})?)\b/g, timezoneClip = /[^-+\dA-Z]/g, pad = function (val, len) { val = String(val); len = len || 2; while (val.length < len) val = "0" + val; return val; }; // Regexes and supporting functions are cached through closure return function (date, mask, utc) { var dF = dateFormat; // You can't provide utc if you skip other args (use the "UTC:" mask prefix) if (arguments.length == 1 && Object.prototype.toString.call(date) == "[object String]" && !/\d/.test(date)) { mask = date; date = undefined; } // Passing date through Date applies Date.parse, if necessary date = date ? new Date(date) : new Date; if (isNaN(date)) throw SyntaxError("invalid date"); mask = String(dF.masks[mask] || mask || dF.masks["default"]); // Allow setting the utc argument via the mask if (mask.slice(0, 4) == "UTC:") { mask = mask.slice(4); utc = true; } var _ = utc ? "getUTC" : "get", d = date[_ + "Date"](), D = date[_ + "Day"](), m = date[_ + "Month"](), y = date[_ + "FullYear"](), H = date[_ + "Hours"](), M = date[_ + "Minutes"](), s = date[_ + "Seconds"](), L = date[_ + "Milliseconds"](), o = utc ? 0 : date.getTimezoneOffset(), flags = { d: d, dd: pad(d), ddd: dF.i18n.dayNames[D], dddd: dF.i18n.dayNames[D + 7], m: m + 1, mm: pad(m + 1), mmm: dF.i18n.monthNames[m], mmmm: dF.i18n.monthNames[m + 12], yy: String(y).slice(2), yyyy: y, h: H % 12 || 12, hh: pad(H % 12 || 12), H: H, HH: pad(H), M: M, MM: pad(M), s: s, ss: pad(s), l: pad(L, 3), L: pad(L > 99 ? Math.round(L / 10) : L), t: H < 12 ? "a" : "p", tt: H < 12 ? "am" : "pm", T: H < 12 ? "A" : "P", TT: H < 12 ? "AM" : "PM", Z: utc ? "UTC" : (String(date).match(timezone) || [""]).pop().replace(timezoneClip, ""), o: (o > 0 ? "-" : "+") + pad(Math.floor(Math.abs(o) / 60) * 100 + Math.abs(o) % 60, 4), S: ["th", "st", "nd", "rd"][d % 10 > 3 ? 0 : (d % 100 - d % 10 != 10) * d % 10] }; return mask.replace(token, function ($0) { return $0 in flags ? flags[$0] : $0.slice(1, $0.length - 1); }); };} ();// Some common format stringsdateFormat.masks = { "default": "ddd mmm dd yyyy HH:MM:ss", shortDate: "m/d/yy", mediumDate: "mmm d, yyyy", longDate: "mmmm d, yyyy", fullDate: "dddd, mmmm d, yyyy", shortTime: "h:MM TT", mediumTime: "h:MM:ss TT", longTime: "h:MM:ss TT Z", isoDate: "yyyy-mm-dd", isoTime: "HH:MM:ss", isoDateTime: "yyyy-mm-dd'T'HH:MM:ss", isoUtcDateTime: "UTC:yyyy-mm-dd'T'HH:MM:ss'Z'"};// Internationalization stringsdateFormat.i18n = { dayNames: [ "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday" ], monthNames: [ "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec", "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December" ]};// For convenience...Date.prototype.format = function (mask, utc) { return dateFormat(this, mask, utc);};