public void SetFilterablePropertyValueEditor(PropertyFilterOperator filterOperator, FilterablePropertyValueEditor editorType) { if (this.editorTypePerOperator.ContainsKey(filterOperator)) { this.editorTypePerOperator[filterOperator] = editorType; return; } this.editorTypePerOperator.Add(filterOperator, editorType); }
static FilterControlHelper() { FilterControlHelper.operators.Add(typeof(string), new PropertyFilterOperator[] { PropertyFilterOperator.Equal, PropertyFilterOperator.NotEqual, PropertyFilterOperator.Contains, PropertyFilterOperator.NotContains, PropertyFilterOperator.StartsWith, PropertyFilterOperator.EndsWith }); FilterControlHelper.operators.Add(typeof(Enum), new PropertyFilterOperator[] { PropertyFilterOperator.Equal, PropertyFilterOperator.NotEqual }); Dictionary <Type, PropertyFilterOperator[]> dictionary = FilterControlHelper.operators; Type typeFromHandle = typeof(bool); PropertyFilterOperator[] value = new PropertyFilterOperator[1]; dictionary.Add(typeFromHandle, value); FilterControlHelper.operators.Add(typeof(int), new PropertyFilterOperator[] { PropertyFilterOperator.Equal, PropertyFilterOperator.NotEqual, PropertyFilterOperator.GreaterThan, PropertyFilterOperator.GreaterThanOrEqual, PropertyFilterOperator.LessThan, PropertyFilterOperator.LessThanOrEqual }); FilterControlHelper.operators.Add(typeof(ulong), new PropertyFilterOperator[] { PropertyFilterOperator.Equal, PropertyFilterOperator.NotEqual, PropertyFilterOperator.GreaterThan, PropertyFilterOperator.GreaterThanOrEqual, PropertyFilterOperator.LessThan, PropertyFilterOperator.LessThanOrEqual }); FilterControlHelper.operators.Add(typeof(long), new PropertyFilterOperator[] { PropertyFilterOperator.Equal, PropertyFilterOperator.NotEqual, PropertyFilterOperator.GreaterThan, PropertyFilterOperator.GreaterThanOrEqual, PropertyFilterOperator.LessThan, PropertyFilterOperator.LessThanOrEqual }); FilterControlHelper.operators.Add(typeof(ADObjectId), new PropertyFilterOperator[] { PropertyFilterOperator.Equal, PropertyFilterOperator.NotEqual }); }
private void operatorBindingSource_ListChanged(object sender, ListChangedEventArgs e) { if (!this.initializing && e.ListChangedType == ListChangedType.Reset && typeof(ObjectListSourceItem) == this.operatorBindingSource.Current.GetType()) { PropertyFilterOperator propertyFilterOperator = (PropertyFilterOperator)((ObjectListSourceItem)this.operatorBindingSource[0]).Value; if (this.surfaceNode.Operator == propertyFilterOperator) { this.DeployValueControl(); return; } this.surfaceNode.Operator = propertyFilterOperator; } }
private QueryFilter GetQueryFilterForLike(PropertyFilterOperator op) { QueryFilter result = null; switch (op) { case PropertyFilterOperator.Contains: result = new TextFilter(this.PropertyDefinition, this.Value.ToString(), MatchOptions.SubString, MatchFlags.IgnoreCase); break; case PropertyFilterOperator.NotContains: result = new NotFilter(new TextFilter(this.PropertyDefinition, this.Value.ToString(), MatchOptions.SubString, MatchFlags.IgnoreCase)); break; } return(result); }
internal FilterablePropertyValueEditor GetPropertyFilterEditor(PropertyFilterOperator filterOperator) { FilterablePropertyValueEditor result = FilterablePropertyValueEditor.TextBox; if (this.editorTypePerOperator.ContainsKey(filterOperator)) { result = this.editorTypePerOperator[filterOperator]; } else { Type valueType = this.ValueType; if (filterOperator == PropertyFilterOperator.NotPresent || filterOperator == PropertyFilterOperator.Present) { result = FilterablePropertyValueEditor.DisabledTextBox; } else if (valueType == typeof(DateTime) || valueType == typeof(DateTime?)) { result = FilterablePropertyValueEditor.DateTimePicker; } else if (filterOperator == PropertyFilterOperator.Equal || filterOperator == PropertyFilterOperator.NotEqual) { if (this.FilterableListSource != null) { result = FilterablePropertyValueEditor.ComboBox; } else if (!string.IsNullOrEmpty(this.PickerProfileName) || this.objectPicker != null) { result = FilterablePropertyValueEditor.PickerLauncherTextBox; } } else if ((filterOperator == PropertyFilterOperator.Contains || filterOperator == PropertyFilterOperator.NotContains) && this.PropertyDefinition.IsMultivalued && (!string.IsNullOrEmpty(this.PickerProfileName) || this.objectPicker != null)) { result = FilterablePropertyValueEditor.PickerLauncherTextBox; } } return(result); }
private Control GetValueEditorForFilterableProperty(FilterablePropertyDescription filterableProperty, PropertyFilterOperator currentOperator) { Control result; switch (filterableProperty.GetPropertyFilterEditor(currentOperator)) { case FilterablePropertyValueEditor.DisabledTextBox: result = this.GetDisabledTextBoxEditor(filterableProperty); break; case FilterablePropertyValueEditor.ComboBox: result = this.GetComboBoxEditor(filterableProperty); break; case FilterablePropertyValueEditor.DateTimePicker: result = this.GetDateTimePickerEditor(filterableProperty); break; case FilterablePropertyValueEditor.PickerLauncherTextBox: result = this.GetPickerLauncherTextBoxEditor(filterableProperty); break; default: result = this.GetTextBoxEditor(filterableProperty); break; } return(result); }