コード例 #1
0
 public void SetFilterablePropertyValueEditor(PropertyFilterOperator filterOperator, FilterablePropertyValueEditor editorType)
 {
     if (this.editorTypePerOperator.ContainsKey(filterOperator))
     {
         this.editorTypePerOperator[filterOperator] = editorType;
         return;
     }
     this.editorTypePerOperator.Add(filterOperator, editorType);
 }
コード例 #2
0
        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
            });
        }
コード例 #3
0
 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;
     }
 }
コード例 #4
0
ファイル: FilterNode.cs プロジェクト: YHZX2013/exchange_diff
        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);
        }
コード例 #5
0
        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);
        }
コード例 #6
0
        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);
        }