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))); }
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))); }
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)); }
private void DetachFilter(FilterSupportDescription filterSupportDescription) { filterSupportDescription.DataTableLoaderView = this; }