Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

LongListSelector Data Virtualization

Does LongListSelector support Data Virtualization? I read on several Blogs that it does, but can't get it to work.

Here is what I tried: I provided a IList implementation as ItemsSource to the List. The problem is that the List calls GetEnumerator() instead of this[int index] to get a list item.

So my question: How do I implement data virtualization for LongListSelector?

like image 954
thumbmunkeys Avatar asked Jul 20 '11 21:07

thumbmunkeys


People also ask

What is meant by data virtualization?

Data virtualization is an umbrella term used to describe an approach to data management that allows an application to retrieve and manipulate data without requiring technical details about the data, such as how the data is formatted or where it is physically located.

What is Denodo data virtualization?

Data virtualization is a logical data layer that integrates all enterprise data siloed across the disparate systems, manages the unified data for centralized security and governance, and delivers it to business users in real time.

What is data virtualization and explain their types?

Data virtualization is an approach to integrating data from multiple sources of different types into a holistic, logical view without moving it physically. In simple terms, data remains in original sources while users can access and analyze it virtually via special middleware.

What is Denodo used for?

The Denodo Platform enables business users to search the actual data using an intuitive interface. Users can also browse across defined relationships between data entities and query for specific data.


2 Answers

As you said, the LongListSelector is still based around GetEnumerator even for when rendering IList types. Most likely the control would need to be rewritten to support the purpose. While blogs might say it support it, none of them says how, so I'm not inclined to believe them. The LongListSelector's default is to render all items.

As for the loading of the data, it can be done progressive using a ObservableCollection. I got a example project that shows how to use a ObservableCollection in combination with the LongListSelector.

Basically this could allow you to progressively add more groups and/or, more data to the groups, and the UI should update accordingly.

like image 153
Claus Jørgensen Avatar answered Nov 03 '22 02:11

Claus Jørgensen


I looked at the LongListSelector source code, it is NOT possible to virtualize the backing storage. The LongListSelector loads each item from the group list through a foreach loop.

like image 34
CadErik Avatar answered Nov 03 '22 02:11

CadErik