this.radSchedulerControl.AppointmentAdded += new EventHandler<AppointmentAddedEventArgs>(radSchedulerControl_AppointmentAdded);
this.radSchedulerControl.Appointments.CollectionChanged += new Telerik.WinControls.Data.NotifyCollectionChangedEventHandler(Appointments_CollectionChanged);
....however the problem with this event is that it get triggered multiple times based on what was changed for on the existing appointment.
A different thread suggested using the ApplySettingsToEvent function in the CustomAppointmentEditDialog class when saving an appointment to add my custom logic. However, in ApplySettingsToEvent I could not determine how to differentiate when a new Appointment is created vs an existing one is saved since this function gets executed on both the creation of a new appointment and the save of an existing.
Your help in determining how to execute custom logic only on the save of an existing appointment and have it triggered only once would be appreciated.
Thanks!
Vijay



private object _cachedOldValue;private bool _isValidValue;private void radGridViewIssues_CellValidating(object sender, CellValidatingEventArgs e){ _isValidValue = true; RadGridView radGridView = sender as RadGridView; if (radGridView == null || !radGridView.IsInEditMode) { return; } ValidationResult validationResult = _presenter.ValidateCurrentValue(e.Column.Name, e.Value); if (!validationResult) { _isValidValue = false; _cachedOldValue = e.OldValue; }}private void radGridViewIssues_CellValidated(object sender, CellValidatedEventArgs e){ RadGridView radGridView = sender as RadGridView; if (radGridView == null) { return; } if (!_isValidValue) { radGridView.CurrentCell.Value = _cachedOldValue; }}
System.NullReferenceException was unhandled HResult=-2147467261 Message=Object reference not set to an instance of an object. Source=ProductPricingModeller.WinForms StackTrace: at ProductPricingModeller.WinForms.UseCurrentPriceHeaderCellElement.GridControl_ValueChanged(Object sender, EventArgs e) in E:\CODE\JssProductPricingModeller\ProductPricingModeller.WinForms\UseCurrentPriceHeaderCellElement.vb:line 201 at System.EventHandler.Invoke(Object sender, EventArgs e) at Telerik.WinControls.UI.RadGridView.OnValueChanged(Object sender, EventArgs e) at Telerik.WinControls.UI.EventDispatcher.RaiseEvent[T](Object eventKey, Object sender, T args) at Telerik.WinControls.UI.BaseGridEditor.OnValueChanged() at Telerik.WinControls.UI.RadCheckBoxEditor.SetValue(Object value) at Telerik.WinControls.UI.RadCheckBoxEditor.set_Value(Object value) at Telerik.WinControls.UI.RadCheckBoxEditor.ToggleState() at Telerik.WinControls.UI.RadCheckBoxEditorElement.OnMouseUp(MouseEventArgs e) at Telerik.WinControls.RadElement.OnCLREventsRise(RoutedEventArgs args) at Telerik.WinControls.RadElement.OnBubbleEvent(RadElement sender, RoutedEventArgs args) at Telerik.WinControls.RadItem.OnBubbleEvent(RadElement sender, RoutedEventArgs args) at Telerik.WinControls.RadElement.RaiseBubbleEvent(RadElement sender, RoutedEventArgs args) at Telerik.WinControls.RadItem.RaiseBubbleEvent(RadElement sender, RoutedEventArgs args) at Telerik.WinControls.RadElement.RaiseBubbleEvent(RadElement sender, RoutedEventArgs args) at Telerik.WinControls.RadItem.RaiseBubbleEvent(RadElement sender, RoutedEventArgs args) at Telerik.WinControls.RadElement.RaiseRoutedEvent(RadElement sender, RoutedEventArgs args) at Telerik.WinControls.RadElement.DoMouseUp(MouseEventArgs e) at Telerik.WinControls.RadElement.CallDoMouseUp(MouseEventArgs e) at Telerik.WinControls.ComponentInputBehavior.OnMouseUp(MouseEventArgs e) at Telerik.WinControls.RadControl.OnMouseUp(MouseEventArgs e) at Telerik.WinControls.UI.RadGridView.OnMouseUp(MouseEventArgs e) at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks) at System.Windows.Forms.Control.WndProc(Message& m) at System.Windows.Forms.ScrollableControl.WndProc(Message& m) at Telerik.WinControls.RadControl.WndProc(Message& m) at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m) at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m) at System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam) at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg) at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData) at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context) at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context) at System.Windows.Forms.Application.Run(ApplicationContext context) at Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.OnRun() at Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.DoApplicationModel() at Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.Run(String[] commandLine) at ProductPricingModeller.WinForms.My.MyApplication.Main(String[] Args) in 17d14f5c-a337-4978-8281-53493378c1071.vb:line 81 at System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly, String[] args) at System.AppDomain.nExecuteAssembly(RuntimeAssembly assembly, String[] args) at System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args) at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly() at System.Threading.ThreadHelper.ThreadStart_Context(Object state) at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx) at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx) at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state) at System.Threading.ThreadHelper.ThreadStart() InnerException: 
I’ve got a problem with the RadSpellChecker in VB
After calling “RadSpellChecker1.Check” with a standard “RadTextBoxControl”, pressing the ignore button repeatedly checks the first misspelled word and does not progress through the check. It does not move on to the next misspelt word and effectively loops.
If I change words I can get to the end of the check, cancel quits the check but ignore does appear to work as I expect
Has anyone seen this before and can suggest a solution