Screen Refresh Issue Dragging Scrollbar
When using 1.0.0 code and a div that is 100% height and width with screen resolution supporting all the rows without a vertical scrollbar and having enough rows to support a horizontal scrollbar - the first row does not paint correctly when DRAGGING the horizontal scrollbar quickly. The end result is data from another row being displayed over the first row. You can take another window (of any kind from any application) and drag it over the first row to force a repaint. I have reproduced this on 2 different PCs using two different sets of data and using two different screen resolutions (800x600) and (1024x768). In all cases the number of rows is very nearly enough to require a vertical scrollbar. If you resize the window you can sometimes eliminate the problem. For screenprints, see
http://www.wsouth.com/grid.htm. This error is all that is holding me up from licensing and immediate distribution - please help!
Jason Phillips
January 25,
Also, found that the alternating row colors is part of the problem... Without that code (from the tutorial) it seems to work. Unfortunately this feature is important.
January 25,
Jason,
could you send me (support at activewidgets.com) your page code so I can try to reproduce the problem?
Alex (ActiveWidgets)
January 25,
For the sake of anyone reading this in the future, the problem is when you use code to alternate the background color of the rows and then size the window such that the last row is partially covered (just enough to cover some of the row but not enough to create a vertical scrollbar) and then 'drag' the horizontal scrollbar. The top row fails to repaint correctly. It's an extreme rare set of circumstances, however, in my case it means misrepresenting patient information and is a big risk. Alex is working on a solution or workaround. the best workaround I have found is to not use alternating row colors.
Jason Phillips
January 26,
Here was Alex's response (thanks Alex):
So far I can only suggest a workaround - apply color to the cells, not row. It seems to work on my side.
Best way of doing so is to apply a class to the row (instead of explicit
style) and define class rules for a cell inside this row:
.active-alternate-0 .active-row-cell {background: red;}
.active-alternate-1 .active-row-cell {background: white;}
.active-alternate-2 .active-row-cell {background: blue;}
And here is code for the row class:
var row = new Active.Templates.Row;
row.setClass("alternate", function(){ return this.getRowProperty("order")%3;
});
obj.setRowTemplate(row);
Jason Phillips
January 27,