I have a scroller/repeater with a C# arraylistdataset backing store.
The list is sortable in one of three ways controlled by three buttons on the same page. When a different sort order is selected, the C# code invoked :
1) does an arraylistdataset.Clear()
2) refills the arraylistdataset with the items in the new sort order
The weird thing that was happening was if the list was already scrolled down past the number of items that could be displayed on screen (in my case about 12 out od about 300), say, on index 20, clicking a button to change the sort order resulted in a blank list. If the scroller were positioned such that the first element was visible, irrespective of which repeated item had focus, you could change the sort order as many times as you like and it was redisplayed properly. That was the only criterion for a success .vs. failure scenario...whether the list was not fully paged up. You could page all the way to the end, but if you wanted to change the sort order you had to page all the way to be beginning or nothing would be displayed.
I tried just about every solution under the sun to get this fixed finally arriving at the conclusion that the Clear() call must have been doing a notification to the scoller but if the first repeated item wasn't visible it would screw up.
I solved this by never clearing the list but just doing replacements of the items with their changed contents in the correct order, rather than a Clear() followed by adding them back in.
If anyone knows why these particular hoops need to be jumped through, for such a straightforward thing to do, I'd be interested in hearing an explanantion.
Oz