Errors after controls updated

4 posts, 0 answers
  1. Czeshirecat
    Czeshirecat avatar
    66 posts
    Member since:
    Jun 2016

    Posted 18 Mar 2019 Link to this post

    Hi

    I've recently released a version of our software that had version 2019.1.117.40 of Telerik.

    Soon afterwards I needed to reformat and rebuild my working environment, reinstall visual studio and telerik and received a telerik version error after loading up my solution. So I ran an upgrade which installed 2019.1.219.40.

    After this I started experiencing errors in the Virtual Grid. Last week I added a thread to the forum about access violations when calling bestfit on a column, it was suggested that my code should wait until the form is loaded/shown before doing this.In version 2019.1.117.40 I hadn't experienced this problem despite all the hours I'd spent developing and testing.

    The form in question contains a panel which is parented onto a host form, so it never receives a formshown event, I use the hostform shown event to call the code on the child. But, the child panel contains a pageview with 4 pages, each of which contains a virtual grid. Even though the form is visible, I'm experiencing that same access violation on the first page of data.

    Now, I'm seeing another problem which I didn't experience in 2019.1.117.40, when I attempt to change the sort order.

    "Collection was modified; enumeration operation may not execute"

       at System.Collections.ArrayList.ArrayListEnumeratorSimple.MoveNext()
       at Telerik.WinControls.UI.VirtualGridRowElement.<GetCellElements>d__0.MoveNext()
       at Telerik.WinControls.UI.VirtualGridRowElement.SynchronizeCells(Boolean updateContent)
       at Telerik.WinControls.UI.VirtualGridRowElement.Synchronize(Boolean updateContent)
       at Telerik.WinControls.UI.VirtualGridTableElement.SynchronizeRows(Boolean recursive, Boolean updateContent)
       at Telerik.WinControls.UI.VirtualGridTableElement.OnViewInfoPropertyChanged(Object sender, PropertyChangedEventArgs e)
       at Telerik.WinControls.RadObject.OnNotifyPropertyChanged(PropertyChangedEventArgs e)
       at Telerik.WinControls.UI.VirtualGridViewInfo.OnNotifyPropertyChanged(PropertyChangedEventArgs e)
       at Telerik.WinControls.RadObject.OnNotifyPropertyChanged(String propertyName)
       at Telerik.WinControls.UI.VirtualGridViewInfo.set_IsWaiting(Boolean value)
       at pulse.move.views.Helpers.MemberSelection.VirtualGridHandlerClassBase.WaitCursor(Boolean showWaiting) in W:\Projects\pulse.smartcentre.root\pulse.smartcentre\pulse.move.views\Helpers\MemberSelection\VirtualGridHandlerClass.Base.cs:line 1059
       at pulse.move.views.Helpers.MemberSelection.VirtualGridHandlerClassBase.AskForData(Int32 pageIndex) in W:\Projects\pulse.smartcentre.root\pulse.smartcentre\pulse.move.views\Helpers\MemberSelection\VirtualGridHandlerClass.Base.cs:line 1009
       at pulse.move.views.UserCentre.Tabs.GridHandlers.UserCentreVirtualGridHandler.AskForData(Int32 pageIndex) in W:\Projects\pulse.smartcentre.root\pulse.smartcentre\pulse.move.views\UserCentre\Tabs\GridHandlers\UserCentreVirtualGridHandler.cs:line 94
       at pulse.move.views.Helpers.MemberSelection.VirtualGridHandlerClassBase.OnMasterViewSortChanged() in W:\Projects\pulse.smartcentre.root\pulse.smartcentre\pulse.move.views\Helpers\MemberSelection\VirtualGridHandlerClass.Base.cs:line 847
       at pulse.move.views.Helpers.MemberSelection.VirtualGridHandlerClassBase.OnSortChanged(Object sender, VirtualGridEventArgs e) in W:\Projects\pulse.smartcentre.root\pulse.smartcentre\pulse.move.views\Helpers\MemberSelection\VirtualGridHandlerClass.Base.cs:line 865
       at Telerik.WinControls.UI.RadVirtualGridElement.OnSortDescriptorsChanged(VirtualGridViewInfo viewInfo)
       at Telerik.WinControls.UI.VirtualGridViewInfo.sortDescriptors_CollectionChanged(Object sender, NotifyCollectionChangedEventArgs e)
       at Telerik.Collections.Generic.NotifyCollection`1.OnCollectionChanged(NotifyCollectionChangedEventArgs args)
       at Telerik.Collections.Generic.NotifyCollection`1.EndUpdate(Boolean notify)
       at Telerik.WinControls.UI.VirtualGridInputBehavior.HandleMouseUp(MouseEventArgs args)
       at Telerik.WinControls.UI.RadVirtualGrid.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.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

     

    Although there are backup directories, how do I rollback to this earlier version of controls now I've had to reformat?

     

  2. Dess | Tech Support Engineer, Sr.
    Admin
    Dess | Tech Support Engineer, Sr.  avatar
    3988 posts

    Posted 19 Mar 2019 Link to this post

    Hello, Claire,

    The described behavior doesn't seem to be correct. That is why I tried to replicate the issue locally following the provided information. However, everything seems to work as expected on my end. I have attached my sample project. Could you please specify the exact steps how to reproduce the problem?

    Feel free to modify it the project in a way to reproduce the experienced issue and get back to me with it so I can investigate the precise case. Thank you in advance. 

    As to the version changing, note that you can uninstall the Telerik UI for WinForms suite from Control Panel and install the desired version: https://docs.telerik.com/devtools/winforms/installation-and-upgrades/installing-on-your-computer

    I am looking forward to your reply.
     
    Regards,
    Dess | Tech Support Engineer, Sr.
    Progress Telerik
    Get quickly onboarded and successful with your Telerik and/or Kendo UI products with the Virtual Classroom free technical training, available to all active customers. Learn More.
  3. Czeshirecat
    Czeshirecat avatar
    66 posts
    Member since:
    Jun 2016

    Posted 19 Mar 2019 in reply to Dess | Tech Support Engineer, Sr. Link to this post

    I 'think' I've found my bug, but I don't understand why it showed up after installing the new control set.

    When reading and manipulating the tables on a sort, I need to set grid.rowcount and grid.columncount to zero temporarily even though the recordcount didn't change when the grid sort changes. (I usually run a query to obtain the record count before calling another query to read in my page of data, but for a sort order I don't need a record count) I think this stops sychronization of data in the grid where an old table of data is switched to the new one, hence throwing the error.

  4. Dess | Tech Support Engineer, Sr.
    Admin
    Dess | Tech Support Engineer, Sr.  avatar
    3988 posts

    Posted 20 Mar 2019 Link to this post

    Hello, Claire,

    Since I am not familair with the specific implementation that you have on your end, I would highly recommend you to have a look at the following help article which demonstrates in details how exactly to achieve sorting in RadVirtualGrid: https://docs.telerik.com/devtools/winforms/controls/virtualgrid/sorting/sorting

    Our Demo application >> VirtualGrid >> First Look example is quite useful on this topic as well.

    If you are still experiencing any further difficulties, I would kindly ask you to modify my sample project from the previous reply in a way to demonstrate the problem you are facing. Thus, we would be able to make an adequate analysis of the precise case and assist you further. Thank you in advance for your cooperation.

    I am looking forward to your reply.

    Regards,
    Dess | Tech Support Engineer, Sr.
    Progress Telerik
    Get quickly onboarded and successful with your Telerik and/or Kendo UI products with the Virtual Classroom free technical training, available to all active customers. Learn More.
Back to Top