Exemple #1
0
        internal ExistsFilter CreateExistsFilter(string propertyName)
        {
            FilterSupportDescription filterSupportDescription = this.GetFilterSupportDescription(propertyName);

            if (filterSupportDescription == null)
            {
                filterSupportDescription = new FilterSupportDescription(propertyName);
                this.FilterSupportDescriptions.Add(filterSupportDescription);
            }
            if (!this.DataTableLoader.Table.Columns.Contains(filterSupportDescription.FilteredColumnName))
            {
                return(null);
            }
            return(new ExistsFilter(new DataTableLoaderView.FilterablePropertyDefinition(filterSupportDescription.FilteredColumnName, this.DataTableLoader.Table.Columns[filterSupportDescription.FilteredColumnName].DataType)));
        }
Exemple #2
0
        internal ComparisonFilter CreateComparisonFilter(ComparisonOperator comparisonOperator, string propertyName, object propertyValue)
        {
            FilterSupportDescription filterSupportDescription = this.GetFilterSupportDescription(propertyName);

            if (filterSupportDescription == null)
            {
                filterSupportDescription = new FilterSupportDescription(propertyName);
                this.FilterSupportDescriptions.Add(filterSupportDescription);
            }
            if (!this.DataTableLoader.Table.Columns.Contains(filterSupportDescription.FilteredColumnName))
            {
                return(null);
            }
            return(new ComparisonFilter(comparisonOperator, new DataTableLoaderView.FilterablePropertyDefinition(filterSupportDescription.FilteredColumnName, this.DataTableLoader.Table.Columns[filterSupportDescription.FilteredColumnName].DataType), this.DefaultObjectToFilterableConverter.ToFilterable(propertyValue)));
        }
Exemple #3
0
        public bool IsFilterSupported(string propertyName)
        {
            if (string.IsNullOrEmpty(propertyName))
            {
                throw new ArgumentException("propertyName");
            }
            if (!this.DataTableLoader.Table.Columns.Contains(propertyName))
            {
                return(false);
            }
            FilterSupportDescription filterSupportDescription = this.FilterSupportDescriptions.FirstOrDefault((FilterSupportDescription arg) => string.Compare(arg.ColumnName, propertyName, StringComparison.OrdinalIgnoreCase) == 0);

            if (filterSupportDescription != null)
            {
                return(!string.IsNullOrEmpty(filterSupportDescription.FilteredColumnName));
            }
            return(typeof(IConvertible).IsAssignableFrom(this.DataTableLoader.Table.Columns[propertyName].DataType));
        }
Exemple #4
0
 private void DetachFilter(FilterSupportDescription filterSupportDescription)
 {
     filterSupportDescription.DataTableLoaderView = this;
 }