version 4 - scrolling

Posted by: stage on 8 September 2017, 1:02 pm EST

  • Posted 8 September 2017, 1:02 pm EST

    I am using the latest build from 2/12. There are some problems with the scrolling.


    Clicking on the scoll down button jumps the spread 3 rows at a time.


    Should clicking in the area between the scroll bar and the scroll down arrow should page the control? The bottom row does not become the top row but I believe that it used to do this.


    Clicking and holding on the scroll down button does not cause continous scrolling.


    There still seems to be a little refresh problem with the scrolling. Much improved with this build but I can still seem the same row visuals in 2 places for a split second. This could be related to the 3 row jump instead of a single row jump.

  • Replied 8 September 2017, 1:02 pm EST

    Hi Scott,


        When can we have  next maintenance release.


    Regards


    Vinutha

  • Replied 8 September 2017, 1:02 pm EST

    Hello,


    I was able to reproduce this issue and have reported this as bug #22040 for the development team to fix for the next maintenance release.

  • Replied 8 September 2017, 1:02 pm EST

    Vinutha,


    The next maintenance release for Spread for Windows Forms is scheduled for middle of April.

  • Replied 8 September 2017, 1:02 pm EST

    Mike,


    The bug was caused by the fact that the scroll bar event handler was not being removed when a scroll bar was detached from a view.  If a scroll bar was detached and later re-attached then there would be two event handles which would cause the view to scroll twice the desired amount.  Replacing the existing scroll bar with a new scroll bar will temporary work around the problem because initially there will only be one event handler for the new scroll bar.  However, if the new scroll bar is detached and later re-attached then you will again encounter the bug.

  • Replied 8 September 2017, 1:02 pm EST

    I am also seeing scrolling problems with Spread V4 - both Vertical and Horizontal scroll much too far. (3 to 4 times greater)


    If Sheet has 7 rows, small change moves 4 rows, large moves 25 rows.


    This thread talks about removing and adding scrollbars to views but unless the control is doing this itself for some reason it doesn't seem to apply to my case. (I do not manually create scrollbars at any time.)


    What actions would cause it to remove/add a scrollbar?
    (Note that mine are read only spreadsheets - loaded once and never edited unless the app adds/removes a total row at the bottom. No user edits at all.) 


     

  • Replied 8 September 2017, 1:02 pm EST

    Hi scotts,


    You just reproduce it in case use use a released version (which you can download as Trial version). This version is performed by DotFuscator and it cause the problem. Please see the following code (which is gotten from Reflector) 

    ScrollEventHandler handler4 = this.Parent.VerticalScrollBar.e();
    if (handler4 != null)
    {
    Delegate[] invocationList = handler4.GetInvocationList();
    if (invocationList != null)
    {
    for (int j = 0; j < invocationList.Length; j++)
    {
    if (invocationList[j].Method.Name == "verticalScrollBar_Scroll")
    {
    handler4 = (ScrollEventHandler) Delegate.Remove(handler4, new ScrollEventHandler(this.a));
    }
    }
    }
    this.hp[ i].Scroll += handler4;
    }

    After DotFuscator performed, verticalScrollBar_Scroll function is renamed as "a". So, I never can be remove from the invocation list.
    In my opinion, instead of using iteration to remove delegate, you just use the following code (because verticalScrollBar_Scroll is attached only one time at all)

    ScrollEventHandler handler4 = this.Parent.VerticalScrollBar.e();
    if (handler4 != null)
    {
    this.handler4 -= verticalScrollBar_Scroll;
    }

    Hope that help.
  • Replied 8 September 2017, 1:02 pm EST

    Hello,


    Thank you for the information. I will pass this along to the development team.

  • Replied 8 September 2017, 1:02 pm EST

    Hi,


    I have been trying to come up with a way to fix the multiline scrolling problem to make our users happy and I stumbled upon this solution.  The only problem is that I have no idea why it works, which worrys me a little bit.  If anyone could shed some light on this I would appreciate it.  Incidentally, it fixes the paging problem too.


    Public Class MyScrollBar


    Inherits  FarPoint.Win.Spread.SpreadVScrollBar


    End Class


    Dim vScrollBar As FpScrollBar = New MyScrollBar()


    mySpreadsheet.VerticalScrollBar = vScrollBar


    That's it.  Just define an empty class that inherits from SpreadVScrollBar and set it as the vertical scrollbar on the spreadsheet.  All the problems disappear.


    Thanks,


    Mike


     

  • Replied 8 September 2017, 1:02 pm EST

    Mike -

    Thanks for the tip.  I wish I had an explanation as to why this worked but I don't.  I'll see if one of the developers might have an idea.
  • Replied 8 September 2017, 1:02 pm EST

    Hi,


    Is the maintenance release out?


    Regards


    Vinutha

  • Replied 8 September 2017, 1:02 pm EST

    Vinutha -

    Not yet.  Should be in the next week or two.  We are finishing up some crucial bugs that we want to include in this release.
  • Replied 8 September 2017, 1:02 pm EST

    Yes, it is out.  It is version 4.0.2003 and you can it off our website.
  • Replied 8 September 2017, 1:02 pm EST

    Hi,


    Is the Scrolling problem addresed in the maintenance release 4.0.2003?


    I still see that there is 3 row jump instead of one row ?


    Regards


    Vinutha


     

  • Replied 8 September 2017, 1:02 pm EST

    You do not have to add or remove scrollbars with code to reproduce the problem.  Do you see the problem with a default control?
  • Replied 8 September 2017, 1:02 pm EST

    Bob,


    Is the maintenance release out ? If yes which update file should i need to download.


    I am using Spread 4.0  for .Net 2.0.


    Regards


    Vinutha


     

  • Replied 8 September 2017, 1:02 pm EST

    mikedempsey,


    When I referred to scroll bars detaching from and re-attaching to the view in my previous post, I was referring to the view stopping and starting the listening to the scroll bar's events.  The view temporarily suspends listening while certain changes/updates are being made to the scroll bars.  Due to a bug, the view's handler for the scroll bar's Scroll event was not being correctly removed.  This could result in the view having multiple handlers for the scroll bar's Scroll event which it turn could cause the view to scroll too much.


    The one forum poster thought he had found a work around by replacing the scroll bars.  While his work around might initially appear to have solved the problem, the problem could reintroduce itself with the new scroll bars.

  • Replied 8 September 2017, 1:02 pm EST

    I tested this with a standard spreadsheet and it scrolls one row/column at a time.  Do you have anything set on the sheet that might be affecting the scrolling?  Make sure your project is using v4.0.2003.
Need extra support?

Upgrade your support plan and get personal unlimited phone support with our customer engagement team

Learn More

Forum Channels