protected override Expression GetExpression() { var exp = new CombinationExpression(); if (filterView.IsGroupedData) { var selectedItems = filterView.GetSelectedValues(); if (selectedItems == null || selectedItems.Count() == 0) { var selectedRange = filterView.GetSliderRange(); selectedItems = new List <object>(); for (int idx = (int)Math.Ceiling((double)selectedRange.Item1); idx <= (int)Math.Floor((double)selectedRange.Item2); idx++) { (selectedItems as IList).Add(items.ElementAt(idx)); } } SetGroupExpression(exp, selectedItems); } else { var selectedItems = filterView.GetSelectedValues(); if (selectedItems == null || selectedItems.Count() == 0) { SetRangeExpression(exp, filterView.GetSliderRange()); } else { SetXYExpression(exp, selectedItems); } } return(exp); }
private void SetXYExpression(CombinationExpression exp, IEnumerable <object> selectedValues) { exp.FilterCombination = FilterCombination.Or; foreach (var item in selectedValues) { var comboExp = new CombinationExpression() { FilterCombination = FilterCombination.And }; comboExp.Expressions.Add(new OperationExpression { PropertyName = propertyX, Value = GetPropertyValue(propertyX, item), FilterOperation = FilterOperation.Equal, }); foreach (var property in propertyY.Split(',')) { comboExp.Expressions.Add(new OperationExpression { PropertyName = property.Trim(), Value = GetPropertyValue(property.Trim(), item), FilterOperation = FilterOperation.Equal, }); } exp.Expressions.Add(comboExp); } }
private void InitForms() { // Apply default filter - show only invoices with discount _filterForm = new FilterEditor(c1FlexGrid1); var expression = new CombinationExpression(); expression.Expressions.Add(new OperationExpression() { PropertyName = "Discount", FilterOperation = FilterOperation.GreaterThan, Value = 0 }); _filterForm.SetExpression(expression); // Apply default rule - bold text for major invoice records _rulesForm = new ConditionalFormattingForm(c1FlexGrid1); var rule = new C1.Win.RulesManager.Rule() { Name = "Major Invoices", Expression = "=[ExtendedPrice] > 1000", Style = new ItemStyle() { FontStyle = FontStyle.Bold } }; _rulesForm.Rules.Add(rule); }
private void SetGroupExpression(CombinationExpression exp, IEnumerable <object> selectedGroups) { exp.FilterCombination = FilterCombination.Or; foreach (GroupItem grpItem in selectedGroups) { exp.Expressions.Add(CreateRangeExpression(grpItem.Min, grpItem.Max)); } }
private void SetRangeExpression(CombinationExpression exp, Tuple <object, object> sliderRange) { exp.FilterCombination = FilterCombination.And; //RangeSlider is not suggested to use for Categorical Data if (sliderRange != null && !isCategoricalData()) { exp.Expressions.Add(CreateRangeExpression(sliderRange.Item1, sliderRange.Item2)); } }
private static CombinationExpression GetPredefinedFilter() { var filterExpression = new CombinationExpression(); var filterExpressions = filterExpression.Expressions; var hpGreaterThen200Expression = new OperationExpression() { PropertyName = "HP", FilterOperation = FilterOperation.GreaterThanOrEqual, Value = 200 }; filterExpressions.Add(hpGreaterThen200Expression); var automaticTransmissionExpression = new OperationExpression() { PropertyName = "AutomaticTransmission", FilterOperation = FilterOperation.Equal, Value = true }; filterExpressions.Add(automaticTransmissionExpression); var sportsCategoryExpression = new OperationExpression() { PropertyName = "StartSaleDate", FilterOperation = FilterOperation.GreaterThanOrEqual, Value = new DateTime(2011, 1, 1) }; filterExpressions.Add(sportsCategoryExpression); var brandOrExpression = new CombinationExpression(); brandOrExpression.FilterCombination = FilterCombination.Or; var brandExpressions = brandOrExpression.Expressions; var brandEqualMercedesBenzExpression = new OperationExpression() { PropertyName = "Brand", FilterOperation = FilterOperation.EqualText, Value = "Mercedes-Benz" }; brandExpressions.Add(brandEqualMercedesBenzExpression); var brandEqualAudiExpression = new OperationExpression() { PropertyName = "Brand", FilterOperation = FilterOperation.EqualText, Value = "Audi" }; brandExpressions.Add(brandEqualAudiExpression); filterExpressions.Add(brandOrExpression); return filterExpression; }
async void InitExpressionAndApply() { CombinationExpression filterExpression = null; if (File.Exists(pathToXmlFile)) { filterExpression = LoadFilterFromFile(pathToXmlFile); filterEditor.Expression = filterExpression; } await filterEditor.ApplyFilterAsync(); }
protected override Expression GetExpression() { var ce = new CombinationExpression() { FilterCombination = FilterCombination.Or }; foreach (var item in MultiSelect.SelectedItems) { ce.Expressions.Add(new OperationExpression() { FilterOperation = FilterOperation.Equal, Value = item.Value, PropertyName = PropertyName }); } return(ce); }
protected override Expression GetExpression() { var tags = _modelFilterPresenter.GetSelectedTagList(); var expr = new CombinationExpression() { FilterCombination = FilterCombination.Or }; foreach (var tag in tags) { expr.Expressions.Add(new OperationExpression() { Value = tag, FilterOperation = FilterOperation.Equal, PropertyName = PropertyName }); } return(expr); }
protected override Expression GetExpression() { var colors = _colorFilterView.GetSelectedColors(); var expr = new CombinationExpression() { FilterCombination = FilterCombination.Or }; foreach (var color in colors) { expr.Expressions.Add(new OperationExpression() { Value = color, FilterOperation = FilterOperation.Equal, PropertyName = PropertyName }); } return(expr); }
private void ApplyFilter() { pathToXmlFile = Directory.GetCurrentDirectory() + "\\" + xmlFileName; CombinationExpression filterExpression = null; if (!File.Exists(pathToXmlFile)) { filterExpression = GetPredefinedFilter(); } else { filterExpression = LoadFilterFromFile(pathToXmlFile); } c1FilterEditor1.SetExpression(filterExpression); c1FilterEditor1.ApplyFilter(); }
protected override C1.WPF.DataFilter.Expression GetExpression() { var stores = _mapFilterPresenter.GetSelectedStores(); var expr = new CombinationExpression() { FilterCombination = FilterCombination.Or }; foreach (var store in stores) { expr.Expressions.Add(new OperationExpression() { Value = store.ID, FilterOperation = FilterOperation.Equal, PropertyName = PropertyName }); } return(expr); }
private CombinationExpression CreateRangeExpression(object min, object max) { var subExpression = new CombinationExpression() { FilterCombination = FilterCombination.And }; subExpression.Expressions.Add(new OperationExpression { PropertyName = PropertyName != string.Empty ? PropertyName : propertyX, Value = min, FilterOperation = min.GetType() == typeof(string) ? FilterOperation.Equal : FilterOperation.GreaterThanOrEqual, }); subExpression.Expressions.Add(new OperationExpression { PropertyName = PropertyName != string.Empty ? PropertyName : propertyX, Value = max, FilterOperation = max.GetType() == typeof(string) ? FilterOperation.Equal : FilterOperation.LessThanOrEqual, }); return(subExpression); }
public Expression GetExpression(string propertyName) { if (double.IsNegativeInfinity(MinPrice)) { return new OperationExpression() { FilterOperation = FilterOperation.LessThan, Value = MaxPrice, PropertyName = propertyName } } ; if (double.IsPositiveInfinity(MaxPrice)) { return new OperationExpression() { FilterOperation = FilterOperation.GreaterThan, Value = MinPrice, PropertyName = propertyName } } ; else { var exp = new CombinationExpression() { FilterCombination = FilterCombination.And }; exp.Expressions.Add(new OperationExpression() { FilterOperation = FilterOperation.GreaterThanOrEqual, Value = MinPrice, PropertyName = propertyName }); exp.Expressions.Add(new OperationExpression() { FilterOperation = FilterOperation.LessThanOrEqual, Value = MaxPrice, PropertyName = propertyName }); return(exp); } }