public TableSearchFilter(IVsSearchQuery searchQuery, IWpfTableControl control) { this.tokens = new List <string>(); this.columns = new List <ITableColumnDefinition>(control.ColumnStates.Count); foreach (IVsSearchToken token in SearchUtilities.ExtractSearchTokens(searchQuery) ?? Array.Empty <IVsSearchToken>()) { if (!string.IsNullOrEmpty(token.ParsedTokenText)) { this.tokens.Add(token.ParsedTokenText); } } foreach (ColumnState2 columnState in control.ColumnStates.OfType <ColumnState2>()) { if (columnState.IsVisible || columnState.GroupingPriority > 0) { ITableColumnDefinition definition = control.ColumnDefinitionManager.GetColumnDefinition(columnState.Name); if (definition != null) { this.columns.Add(definition); } } } }
public void FilterOut(string columnName, string filteredValue) { ThreadHelper.ThrowIfNotOnUIThread(); var filteredColumnValue = new FilteredColumnValue(columnName, filteredValue); if (!this.filteredColumnValues.Contains(filteredColumnValue)) { ITableColumnDefinition categoryColumnDefinition = this.ErrorListTableControl.ColumnDefinitionManager.GetColumnDefinition(columnName); this.ErrorListTableControl.SetFilter( columnName, new ColumnHashSetFilter( categoryColumnDefinition, filteredValue)); this.filteredColumnValues.Add(filteredColumnValue); } }
private static string GetColumnValueAsString( ITableEntryHandle entry, ITableColumnDefinition column ) => (
private static string GetColumnValueAsString(ITableEntryHandle entry, ITableColumnDefinition column) => (entry.TryCreateStringContent(column, truncatedText: false, singleColumnView: false, content: out var columnValue) && columnValue is not null)
private static string GetColumnValueAsString(ITableEntryHandle entry, ITableColumnDefinition column) => entry.TryCreateStringContent(column, truncatedText: false, singleColumnView: false, content: out string columnValue) && (columnValue != null) ? columnValue : string.Empty;