<
UserControl.Resources
>
<
DataTemplate
x:Name
=
"DragCueEquipmentTemplate"
>
<
telerik:RadDockPanel
Margin
=
"2"
MaxWidth
=
"200"
>
<
TextBlock
Text
=
"{Binding ID}"
FontWeight
=
"Bold"
telerik:RadDockPanel.Dock
=
"Top"
/>
<
TextBlock
Text
=
"{Binding Name}"
Foreground
=
"Green"
telerik:RadDockPanel.Dock
=
"Left"
/>
</
telerik:RadDockPanel
>
</
DataTemplate
>
</
UserControl.Resources
>
<
Grid
x:Name
=
"LayoutRoot"
Background
=
"White"
DataContext
=
"EquipmentListViewModel"
>
<
telerik:RadTreeListView
x:Name
=
"EquipmentsTreeListView"
AutoGenerateColumns
=
"False"
IsDragDropEnabled
=
"True"
IsReadOnly
=
"True"
dragDrop:RadDragAndDropManager.AllowDrag
=
"True"
IsDragTooltipEnabled
=
"True"
IsDropPreviewLineEnabled
=
"True"
DataLoadMode
=
"Asynchronous"
EnableRowVirtualization
=
"True"
ItemsSource
=
"{Binding EquipmentItems}"
>
<
telerik:RadTreeListView.ChildTableDefinitions
>
<
telerik:TreeListViewTableDefinition
x:Name
=
"def"
ItemsSource
=
"{Binding Children}"
/>
</
telerik:RadTreeListView.ChildTableDefinitions
>
<
telerik:RadTreeListView.Columns
>
<
telerik:GridViewDataColumn
DataMemberBinding
=
"{Binding equip_item.lin_id}"
Header
=
"ID"
Width
=
"100"
ShowDistinctFilters
=
"False"
/>
<
telerik:GridViewDataColumn
DataMemberBinding
=
"{Binding Name}"
Header
=
"Name"
Width
=
"*"
ShowDistinctFilters
=
"False"
/>
</
telerik:RadTreeListView.Columns
>
</
telerik:RadTreeListView
>
<
controls:BusyIndicator
HorizontalAlignment
=
"Center"
VerticalAlignment
=
"Center"
x:Name
=
"busyIndicator"
IsBusy
=
"False"
BusyContent
=
"Loading equipment list, please wait..."
Grid.Row
=
"0"
>
</
controls:BusyIndicator
>
</
Grid
>
18 Answers, 1 is accepted
Please paste me the implementation of the business objects you are feeding RadTreeListView with.
I need the one exposing the equip_item.lin_id. I need this as I am trying to build a repro application here to see what is going wrong and provide a fix if applicable.
Regards, Pavel Pavlov
the Telerik team
I have exactly the same problem. I have about 31,000 members in my RadTreeListView, which is a good bit, but not crazy. The filter takes more than a minute. I have a very simple "Employee" collection, where each employee has a "DirectReports" collection for it's sub-items. I am getting a bit desperate, any help is greatly appreciated.
Bennie
Can you post more info about the version? Is it our latest service pack or our latest internal build?
Best wishes,Vlad
the Telerik team
Can you post more info about the treelist version?
Vlad
the Telerik team
Have you tested your scenario with our Q1 2011 Beta? Can you send us small example project demonstrating your case?
Best wishes,Vlad
the Telerik team
Scenario is the same I uploaded yesterday with the support ticket "Low Performance in Expand All Groups" for the GridViewControl. If you remember the demo application, I have a TileView control inside a RadWindow with four TileViewItems. Each TileViewItem contains a GridView loaded with an items catalog. Well, in fact, in my real scenario, one of this catalogs has a hierichical structure and it's loaded in a TreeListView. I've tried to add a TextBox at top of each GridView/TreeListView to allow user searching items in the catalogs. Via a custom behavior I'm able to add a filter descriptor to the GridView/RadTreeListView each time user enters text on the searcher TextBox. I'm quite sure the issue is related with expanding hierarchy or groups as TreeListView expand all hierarchy each time filter is updated. I've tried to perform filtering for my self, that's updating ItemsSource property with a new collection containing only the items that match the filter criteria and it works fine except if I call ExpandAllHierarchyItems method, then it takes long time to update the UI.
As I've seen, with new 2011 Q1 release, expanding groups/hierarchy is much faster as control is not trying to expand all item but only those that are potentially visible.
With new 2011 Q1 release I'm still having matters Expanding all hierarchy and filtering large datasets. As I saw that AutoExpandAllGroup now performs really fast I hoped that filtering RadTreeListview would behave in the same way. I need a solution, I'm loading more than 30,000 items in a RadTreeListView and calling ExpandAllHierarchy or applying a filter (that also expands all hierarchy) takes long time
We have ideas how to optimize the tree list filtering and we will do our best to provide this in one of our upcoming latest internal builds.
Regards,Vlad
the Telerik team
Thanks for your response. I hope you can provide a solution in short time, if possible next month...
Is there any optimization/improvement on treelistview filtering in Q1 Sp1?
Thanks.
Unfortunately this optimization is still not part of our official releases - hopefully we will provide it in a week or two as internal build. We just want to be sure that the new filtering code will not break any existing scenario.
Best wishes,Vlad
the Telerik team
I also have the same problem, as my treelistview is implemented as load on demand
so is there anyway to let the treelistview only apply the filter
on the items that already expanded but not trying to expand all my nodes?
Cheers
Any advance on this issue?
Indeed with latest builds you can have load on demand (your child collection can be null however you can set IsExpandable to to true for treelist rows) and the treelist will not attempt to iterate child items if they are not loaded. In this case filtering will be much faster.
All the best,Vlad
the Telerik team
Hi,
I have a similar problem. I have a RadTreeListView that contains data in two "layers". Every time I apply a filter, all rows will be expanded, and because I implemented a load-on-demand, all row details will be loaded which is slow.
Is it possible to avoid expanding all rows on filtering?
Kind regards
Matthias Görner