This is a migrated thread and some comments may be shown as answers.

Filter with 3100 rows extremely slow

18 Answers 239 Views
TreeListView
This is a migrated thread and some comments may be shown as answers.
This question is locked. New answers and comments are not allowed.
Jeffrey Schultz
Top achievements
Rank 1
Jeffrey Schultz asked on 24 Jan 2011, 09:52 PM
When you click the filter icon and select criteria, the filter process takes about a minute; is there any way to speed this up since sort operations take a couple of seconds? When the process is completed, even though the criteria I specified exists within the sample set, the RadTreeListView doesn't display any rows. Am I doing something wrong? I can see exactly what I am searching for at the top of the list before I click the filter icon.

<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

Sort by
0
Jeffrey Schultz
Top achievements
Rank 1
answered on 24 Jan 2011, 10:23 PM
I misstated the number of items. If you count the children, there total about 15000 in all.
0
Pavel Pavlov
Telerik team
answered on 27 Jan 2011, 03:49 PM
Hello Jeffrey Schultz,

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
Let us know about your Windows Phone 7 application built with RadControls and we will help you promote it. Learn more>>
0
Bennie
Top achievements
Rank 1
answered on 27 Feb 2011, 12:56 AM
Hello,

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
0
Vlad
Telerik team
answered on 02 Mar 2011, 08:16 AM
Hello,

 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
Registration for Q1 2011 What’s New Webinar Week is now open. Mark your calendar for the week starting March 21st and book your seat for a walk through all the exciting stuff we ship with the new release!
0
Daní
Top achievements
Rank 1
answered on 09 Mar 2011, 12:08 PM
I also have the same problem. I have a RadTreeListView with about 31,000 members and filtering is really slow.
0
Vlad
Telerik team
answered on 09 Mar 2011, 12:34 PM
Hello,

 
Can you post more info about the treelist version? 

Regards,
Vlad
the Telerik team
Registration for Q1 2011 What’s New Webinar Week is now open. Mark your calendar for the week starting March 21st and book your seat for a walk through all the exciting stuff we ship with the new release!
0
Daní
Top achievements
Rank 1
answered on 09 Mar 2011, 12:36 PM
I'm using version 2010.3.1314.1040
0
Vlad
Telerik team
answered on 15 Mar 2011, 08:05 AM
Hello DanĂ­,

 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
Registration for Q1 2011 What’s New Webinar Week is now open. Mark your calendar for the week starting March 21st and book your seat for a walk through all the exciting stuff we ship with the new release!
0
Daní
Top achievements
Rank 1
answered on 15 Mar 2011, 10:05 AM
Hello Vlad,

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.
0
Daní
Top achievements
Rank 1
answered on 17 Mar 2011, 10:23 AM
Bad luck,

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
0
Vlad
Telerik team
answered on 18 Mar 2011, 10:26 AM
Hi DanĂ­,

 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
0
Daní
Top achievements
Rank 1
answered on 18 Mar 2011, 11:20 AM
Hello Vlad,

Thanks for your response. I hope you can provide a solution in short time, if possible next month...
0
Daní
Top achievements
Rank 1
answered on 27 Apr 2011, 05:12 PM
Hello Telerik's team

Is there any optimization/improvement on treelistview filtering in Q1 Sp1?

Thanks.
0
Vlad
Telerik team
answered on 29 Apr 2011, 12:11 PM
Hi DanĂ­,

 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
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? Explore the Telerik Public Issue Tracking system and vote to affect the priority of the items
0
Tim Ge
Top achievements
Rank 1
answered on 03 May 2011, 03:50 AM
Hello,

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
0
Daní
Top achievements
Rank 1
answered on 21 Jun 2011, 06:02 PM
Hi,

Any advance on this issue?
0
Vlad
Telerik team
answered on 22 Jun 2011, 01:38 PM
Hello,

 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
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? Explore the Telerik Public Issue Tracking system and vote to affect the priority of the items
0
Matthias
Top achievements
Rank 1
answered on 27 Apr 2012, 04:21 PM

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

Tags
TreeListView
Asked by
Jeffrey Schultz
Top achievements
Rank 1
Answers by
Jeffrey Schultz
Top achievements
Rank 1
Pavel Pavlov
Telerik team
Bennie
Top achievements
Rank 1
Vlad
Telerik team
Daní
Top achievements
Rank 1
Tim Ge
Top achievements
Rank 1
Matthias
Top achievements
Rank 1
Share this question
or