Current filter:
                                You should refresh the page.
                                Support Center
                                0
                                  • Hi

                                    I have a TreeListView as a view on a DxGrid populated with items (parent and child nodes). The row filter is not properly doing a search on the child nodes. If that is true, I have a datatemplate search text box on the column header and want to do a seach from MVVM

                                    I also dont see ItemContainerStyle to set the IsSelected and IsExpanded to expand and select the node similar to TreeView control


                                    How do I do it on TreeListView ?

                                You must  log in  or  register  to leave comments

                                1 Solution

                                0

                                Hi,

                                Thank you for your question.
                                Filtering in TreeListView shows nothing if your FilterCriteria allows you to show only child nodes, without parent nodes. We have a suggestion and a workaround, so that the TreeListView will be able to show only child nodes when filtering: Filtering - Provide the capability to use all DXGrid filtering features for hierarchical data.
                                About expanding and selecting nodes - you can refer to these help topics: Expanding and Collapsing Nodes and Multiple Row Selection
                                Feel free to contact us if you need additional information. I will be glad to help you.

                                P.S. In order not to mix several problems in one thread, I would like to ask you not to post several problems in the same ticket as it may cause misunderstanding when different support engineers process your inquiry. Please open a new issue for each question you wish to ask.

                                Thanks

                                • Jonny_C 10.27.2012

                                  I was able to do the filter nodes using the sample , but I have a problem is clearing the filter to get all row visible I tried couple of options and it is not working as normal filter works. Is there any method to show all rows visible when the search is empty, let me know .

                                  Is the TreeListControl better than using Grid - TreeListView let me know?

                                  Thanks

                                • Hi,

                                  Thank you for informing us about the issue in our sample. To fix it, please change the View_BeforeLayoutRefresh method as follows:

                                  void View_BeforeLayoutRefresh(object sender, DevExpress.Xpf.Core.CancelRoutedEventArgs e) {
                                              if((Column.AutoFilterValue != null) && !(Column.AutoFilterValue is string))
                                                  return;
                                  
                                              if(Column.AutoFilterValue == null) {
                                                  actualAutoFilterValue = "";
                                              } else {
                                                  if(actualAutoFilterValue == (string)Column.AutoFilterValue)
                                                      return;
                                                  actualAutoFilterValue = Column.AutoFilterValue.ToString();
                                              }
                                  
                                              TreeListNodeIterator nodeIterator = new TreeListNodeIterator(View.Nodes, true);
                                              while(nodeIterator.MoveNext()) {
                                                  if(CheckNode(nodeIterator.Current)) {
                                                      SetIsNodeVisibleCore(nodeIterator.Current, true);
                                                      TreeListNode parentNode = nodeIterator.Current.ParentNode;
                                                      while(parentNode != null) {
                                                          SetIsNodeVisibleCore(parentNode, true);
                                                          parentNode = parentNode.ParentNode;
                                                      }
                                                  } else SetIsNodeVisibleCore(nodeIterator.Current, false);
                                              } 
                                          }
                                  

                                  As for the second part of your inquiry, TreeListControl and GridControl have a common parent that implements their general behavior. TreeListControl was created for hiding the GridControl API, which it does not use. You can use any way of creating TreeList, which you like.
                                  Feel free to contact me if you need additional information. I will be happy to assist you.

                                  Thanks

                                You must  log in  or  register  to leave comments

                                To start a chat you should create a support ticket


                                If you need additional product information, write to us at info@devexpress.com or call us at +1 (818) 844-3383

                                FOLLOW US

                                DevExpress engineers feature-complete Presentation Controls, IDE Productivity Tools, Business Application Frameworks, and Reporting Systems for Visual Studio, along with high-performance HTML JS Mobile Frameworks for developers targeting iOS, Android and Windows Phone. Whether using WPF, Silverlight, ASP.NET, WinForms, HTML5 or Windows 8, DevExpress tools help you build and deliver your best in the shortest time possible.

                                Copyright © 1998-2014 Developer Express Inc.
                                All trademarks or registered trademarks are property of their respective owners