private void SetFilter(DataGridFilterState filter) { _isSettingValues = true; if (filter != null && filter.FilterInfo != null && filter.FilterInfo.Count > 0 && filter.FilterInfo[0] != null && filter.FilterInfo[0].FilterOperation == DataGridFilterOperation.IsOneOf && filter.FilterInfo[0].Value is List <ProductElement> ) { foreach (var p in Source) { p.IsChecked = false; } foreach (var p in ((List <ProductElement>)filter.FilterInfo[0].Value)) { p.IsChecked = true; } } else { foreach (var p in Source) { p.IsChecked = true; } } _isSettingValues = false; }
private void group_PropertyChanged(object sender, PropertyChangedEventArgs e) { if (!_isSettingValues) { _filter = GetFilter(); RaisePropertyChanged("Filter"); } }
private void UpdateFilter() { if (!_inverse.HasValue) { _inverse = false; RaisePropertyChanged("Inverse"); } _filter = GetFilter(); RaisePropertyChanged("Filter"); }
private void SetFilter(DataGridFilterState filter) { _lowerValue = double.NaN; _upperValue = double.NaN; if (filter != null) { var list = filter.FilterInfo; var lower = list.FirstOrDefault(fi => fi.FilterOperation == DataGridFilterOperation.GreaterThan || fi.FilterOperation == DataGridFilterOperation.GreaterThanOrEqual); if (lower != null) { _lowerValue = (double)lower.Value; } var upper = list.FirstOrDefault(fi => fi.FilterOperation == DataGridFilterOperation.LessThan || fi.FilterOperation == DataGridFilterOperation.LessThanOrEqual); if (upper != null) { _upperValue = (double)upper.Value; } } RaisePropertyChanged("LowerValue"); RaisePropertyChanged("UpperValue"); RaisePropertyChanged("LowerValueText"); RaisePropertyChanged("UpperValueText"); }
// ******************************************************************* // Column's type specific filter logic // ******************************************************************* public static DataGridFilterState BuildFilterState(C1.Silverlight.DataGrid.DataGridColumn column, string text) { var fs = new DataGridFilterState(); fs.FilterInfo = new List <FilterInfo>(); fs.Tag = text; // check if there is text to filter if (text == string.Empty) { return(null); } if (column is DataGridComboBoxColumn) { // We need special handling for combo columns // because diplayed text is different than the value in the datasource (id) // We need to define the "Contains" operator taking ids into account fs.FilterInfo.Add(new FilterInfo() { Value = GetIdsContainingText(text, column as DataGridComboBoxColumn), FilterOperation = FilterOperation.IsOneOf, }); } else { // Contains for text columns fs.FilterInfo.Add(new FilterInfo() { FilterType = FilterType.Text, Value = text, FilterOperation = FilterOperation.Contains, }); } return(fs); }
private void SetFilter(DataGridFilterState filter) { _lowerValue = null; _upperValue = null; if (filter != null) { var list = filter.FilterInfo; var lower = list.FirstOrDefault(fi => fi.FilterOperation == DataGridFilterOperation.GreaterThan || fi.FilterOperation == DataGridFilterOperation.GreaterThanOrEqual); if (lower != null) { _lowerValue = (DateTime)lower.Value; } var upper = list.FirstOrDefault(fi => fi.FilterOperation == DataGridFilterOperation.LessThan || fi.FilterOperation == DataGridFilterOperation.LessThanOrEqual); if (upper != null) { _upperValue = (DateTime)upper.Value; } } RaisePropertyChanged("LowerValue"); RaisePropertyChanged("UpperValue"); RaisePropertyChanged("LowerValueText"); RaisePropertyChanged("UpperValueText"); }
void filterUnity_PropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e) { Filter = (sender as IDataGridFilterUnity).Filter; }
private void UpdateFilter() { if (!_inverse.HasValue) { _inverse = false; RaisePropertyChanged("Inverse"); } _filter = GetFilter(); RaisePropertyChanged("Filter"); }