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");
 }
Exemplo n.º 4
0
 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");
 }
Exemplo n.º 5
0
        // *******************************************************************
        // 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");
 }