2015-08-17 4 views
7

Sono nuovo di C# e SyncFusion e apprezzerei davvero il vostro aiuto.Come filtrare TreeViewAdv con RecordFilters

Ho bisogno di avere i record corretti mostrati in TreeViewPresenter(TreeViewAdv) dopo il filtro gridGroupingControl.

primo momento ho pensato per cominciare i filtri con:

detailGroupingControl.TableDescriptor.RecordFilters 

e per impostare questi filtri nel TreeViewPresenter ma sembra che non funziona così. Esistono metodi semplici per filtrare l'albero con gli stessi criteri di filtro di gridGroupingControl?

risposta

3

Se si desidera aggiungere i RecordFilters da un nodo TreeView a un altro nodo TreeView, è necessario aggiungere gli oggetti della griglia in un elenco. Utilizzando questo elenco, il filtro può essere riflesso su tutti i nodi TreeView. Si prega di fare riferimento al codice sottostante e campione per riferimento,

//Used to save the objects of all grids 
List<GridGroupingControl> grids = new List<GridGroupingControl>(); 

//add the grid to the list 
grids.Add(GridGroupingControl); 

void RecordFilters_Changed(object sender, Syncfusion.Collections.ListPropertyChangedEventArgs e) 
{ 
    Syncfusion.Grouping.RecordFilterDescriptorCollection filters = sender as RecordFilterDescriptorCollection; 
    foreach (GridGroupingControl grid in grids) 
    { 
     foreach(RecordFilterDescriptor filter in filters) 
     { 
      //To avoid the repeated objects from the list 
      if (grid.TableDescriptor.RecordFilters.Contains(filter)) 
       continue; 
      grid.TableDescriptor.RecordFilters.Add(filter); 
     } 
    } 
} 
+0

Stai impostando i filtri sulla griglia ma volevo che filtrassero i nodi Tree. L'albero non possiede metodi come .TableDescriptor.RecordFilters.Add (filter); Al momento sto solo mettendo ogni riga dalla griglia sul mio albero in un ciclo – ninjaxelite