public MainWindow()
{
InitializeComponent();
itemsSource = new List<FilterElement>();
this.sfDataGrid.FilterItemsPopulated += sfDataGrid_FilterItemsPopulated;
}
void sfDataGrid_FilterItemsPopulated(object sender, GridFilterItemsPopulatedEventArgs e)
{
var model = (sender as SfDataGrid).DataContext as ViewModel;
var collection = model.GridRowCollection.OrderBy(xy => xy.Sortindex);
var distinctRecords = collection.Select(x => x.Name).Distinct();
this.ItemsSource = distinctRecords.Select(item =>
new FilterElement
{
ActualValue = item,
DisplayText = item,
}).ToList();
e.ItemsSource = this.ItemsSource;
}
private List<FilterElement> itemsSource;
public List<FilterElement> ItemsSource
{
get { return itemsSource; }
set { this.itemsSource = value; }
} |