2015-08-17 19 views
7

C# ve SyncFusion'da yeniyim ve yardımlarınız için gerçekten minnettarım.TreeViewAdv'ı RecordFilters ile filtreleme

gridGroupingControl ürününü filtreledikten sonra TreeViewPresenter(TreeViewAdv) numaralı belgede gösterilen doğru kayıtlara sahip olmam gerekir.

Önce filtreleri almak için yaklaşık düşündüm:

detailGroupingControl.TableDescriptor.RecordFilters 

ve TreeViewPresenter bu filtreleri ayarlamak için ancak böyle çalışmıyor gibi görünüyor. Ağacın gridGroupingControl ile aynı filtreleme ölçütlerine göre filtrelenmesi için herhangi bir kolay yöntem var mı?

cevap

3

RecordFilters öğesini bir TreeView düğümünden başka bir TreeView düğümüne eklemek isterseniz, ızgaranın nesnelerini bir listeye eklemeniz gerekir. Bu listeyi kullanarak filtreleme tüm TreeView düğümlerine yansıtılabilir. Referans için aşağıdaki kod ve örneği inceleyiniz:

//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

Filtreleri ızgaraya ayarlıyorsunuz ancak Ağaç düğümlerimi filtrelemelerini istedim. Ağaç, .TableDescriptor.RecordFilters.Add (filter) gibi yöntemlere sahip değildir; Şu anda her satırı ızgaradan bir döngü içinde ağaca atarım. – ninjaxelite