Yes, 4 items is likely the reason from what I can see in your code, I have a solution for you but first let me explain why it's as issue and then you can prepare for it.
The control has a property named LoadOnDemandBufferItemsCount
, for which the default value is 20. This property's value tells the mechanism when to fetch the next set of items, when the list reaches that number of items away from the bottom of the current list, it will perform a fetch.
For example, if the list currently has 60 items in it and the user scrolls to item 40, the RadListView will trigger an ItemsRequested.
In your case, since you only have 4 items at a time, it's going to rapidly
fetch items until the user is 20 items away from the bottom.
You can do two things to help:
1 - Set the LoadOnDemandBufferItemsCount to a lower number that works for you, say 4.
2 - Add a protection mechanism to the beginning of your Task call to prevent the method from getting more items until you're ready for them.
An example of #2 would be
async Task GetArchiveItemsAsync()
var items = await _newsroomDataService.GetSeyExpArchiveArticlesList(CurrentItemCount);
CurrentItemCount += items.Count;
//fix for it double loading the second set, need to find out why
var existingItem = ArticlesArchive.Where(x => x.ID == item.ID).FirstOrDefault();
Lance | Tech Support Engineer, Sr.
Do you want to have your say when we set our development plans?
Do you want to know when a feature you care about is added or when a bug fixed?
Telerik Feedback Portal
and vote to affect the priority of the items