Community
Participate
Working Groups
The table viewer control can cause that an infinite number of requests will be send to the server. This will happen sometimes while scrolling in the table control. That behaviour is not visible to the user, but can be monitored with firebug. It seems to be browser indepedent (though only tested with Firefox/Google Chrome, because a network monitoring addon is needed). The requests contain information about the cursor location. Steps to reproduce: 1. Start firebug for the open browser-tab 2. Set firebug to the network tab 3. Open the control demo site 4. Change to tab "TableViewer" 5. Add some more items ("Add 300 Items") 6. Resize the table to a proportion where scrolling vertical and horizontal is possible 7. Start scrolling via mouse wheel or scrollbar (either vertically or horizontally) 8. Watch firebug for a growing number of network requests and stop scrolling If the requests don't stop after stopping to scroll, the bug was reproduced. It will not work always. Scrolling fastly can help to reproduce it.
Oliver, I can't reproduce it with Controls Demo following your steps. Tested with FF 3.6.14 and Chrome 10.0.648.114 on Windows 7 with RAP from CVS HEAD.
Hm strange, I tested with Firefox 3.6.14 and Chrome 9.0.597.107 on Windows 7 (X64). I used the control demo war-file from http://rap.eclipsesource.com/rapdemo/examples (org.eclipse.rap.rwt_1.4.0.20110206-2301.jar) on a local tomcat server.
(In reply to comment #2) I cant reproduce it either. Can you also reproduce it with the Tree, List or ScrolledComposite? That would really help us narrow it down to a specific component.
(In reply to comment #3) > I cant reproduce it either. Can you also reproduce it with the Tree, List or > ScrolledComposite? That would really help us narrow it down to a specific > component. Now I tried it with the following controls: - Tree (ok) - Table (ok) - List (ok) - ScrolledComposite (ok) - TableViewer (not ok) It seems that these controls do not send requests to the server while scrolling. This seems to only occur with the TableViewer control.
Oliver, do you have cell tooltips enabled on the TableViewer? Could you try to disable them? Does it make any difference?
(In reply to comment #5) I do not know how to change this in the control demo. In my application there are no cell tooltips.
Is your Table virtual?
(In reply to comment #7) > Is your Table virtual? No, it is a normal table viewer. It has this styles: SWT.BORDER | SWT.FULL_SELECTION | SWT.MULTI ContentProvider: ObservableListContentProvider LabelProvider: ObservableMapLabelProvider (+ ITableColorProvider / ITableFontProvider) Input: Properties.selfList() (ArrayList) Listeners: SelectionListener Layout: TableColumnLayout (ColumnWeightData) with 12 columns. Column sorting is enabled and a sort provider (ViewerComparator) is set.
Oliver, as we can't reproduce it with the Controls Demo, could you provide a self running snippet with your TableViewer?
Created attachment 190277 [details] Snippet for reproduction
(In reply to comment #9) I made a simple snippet to reproduce the problem. It is a standalone dialog with a tableviewer und some content/label provider. I can reproduce the problem with this snippet. Tested in my RWT-standalone application with RAP1.4M5.
Thanks for the snippet, Oliver. With your snippet and using the horizontal scrollbar I can reproduce the issue.
The problem is in ScrollBar.js - the _eventTimer is started, but never stopped. This leads to dispatching of changed event in a loop. The reason for this is ScrollBar.js#_getMergeCurrentEvent witch always returns true if the scroll step (diff) is big - this._lastDispatchedValue = 50, this._selection = 2000.
The interesting part is that I can reproduce it now with Controls Demo -> TableViewer tab, but not with Table tab.
(In reply to comment #14) I found that strange too. The normale table control without viewer seems to work differently. I could not reproduce it by any means.
Created attachment 190403 [details] Controls Demo patch This is a Controls Demo -> TableTab patch to reproduce the issue. This patch adds a selection listener to the table horizontal scrollbar and makes the table columns 500px in width. Steps to reproduce: 1. Start Controls Demo -> Table tab 2. Use horizontal scrollbar to scroll fast (with big step). 3. Observe the flooding.
Fixed in CVS HEAD in ScrollBar.js. Please test it, but i cant reproduce it anymore with these changes.
The patch seems to work fine. I cannot reproduce it anymore in my application.