12 Answers, 1 is accepted
Thanks for writing.
RadConversationView uses RadJumpList internally so yes, it can support data virtualization. The thing is that by design it just does not expose the APIs for data virtualization. You can easily extend RadConversationView by subclassing it. The you will have access to the jump list by getting a reference to it in the OnApplyTemplate() virtual method. You just have to call this.GetTemplatePart<RadJumpList>("PART_ListBox"); after the control template has been set.
Please write again if you have other questions.
Victor
the Telerik team
Explore the entire Telerik portfolio by downloading Telerik DevCraft Ultimate.
That helped, thank you!
Best Regards
Okay I have some additional problems with this...
-The conversation is going from bottom up (bottom the newest, top the latest) but the DataRequested is firing when we are on the bottom of the page, tho it should fire when we are scrolling to the top.
-Is there a way to disable jumping to the end of the list when we add an item to the list?
I'm awaiting your reply
Best Regards Doug
Thanks for writing.
Yes, if you download the latest internal build you will find a property called KeepLastMessageVisible.
Please write again if you need further assistance.
Victor
the Telerik team
Explore the entire Telerik portfolio by downloading Telerik DevCraft Ultimate.
What about my first question?
Currently RadDataBoundListBox, and therefore RadJumpList, does not support manual data virtualization in the opposite direction. We will definitely implement this in a future release since it is a valid use case.
Write again if you have other questions.
Victor
the Telerik team
Explore the entire Telerik portfolio by downloading Telerik DevCraft Ultimate.
Hi,
Could you please provide an example of how to achieve Data Virtualization with the RadConversationView please? I am familiar with how to implement Data Virtualization with a RadDataBoundListBox but have never used OnApplyTemplate so I am a little unsure of how to hook this up to my existing RadConversationView
Thanks
I have prepared sample demonstrating how you can get RadJumplist and have added simple implementation of DataVirtualizaton. Please have a look and modify it to fits your needs.
Regards,
Tsvyatko
Telerik
Hi Tsvyatko,
Thanks for the example, it is really useful. One other question, if I wanted to do the same as your project but use OnDemandManual, how would I set the button up? Ideally I would like older messages towards the top and a button at the top to load more messages. Normally I would do the following for the button:
<telerikPrimitives:RadDataBoundListBox.DataVirtualizationItemTemplate>
<DataTemplate>
<HyperlinkButton x:Name="hlMore" Content="more" HorizontalAlignment="Stretch" Click="hlMore_Click" />
</DataTemplate>
</telerikPrimitives:RadDataBoundListBox.DataVirtualizationItemTemplate>
But as the RadJumpList in the example you provided is declared programmatically, how would I add the OnDemandManual button to this?
Thanks
Danny
I have modified the custom control to expose VirtualizingItemDataTemplate so you could set from your page directly.
Let us know if this is the desired result.
Regards,
Tsvyatko
Telerik
Hi Tsvyatko,
Thank you for this, this is fantastic! One last question: Is there a way to have the load more button at the top of the scroll bar? My messages are ordered so the new messages are at the bottom and the old messages are at the top. Ideally, I want it so when the user scrolls to the top of the list (the older messages), they can click the more button and get more old messages.
Thanks
Danny
Unfortunately, DataBoundListBox does not support modifying the virtualizing element position. In this case an external button might be a better solution.
Regards,
Tsvyatko
Telerik