public async Task Reset() { if (RegexMode) { await ToggleRegexMode(); } foreach (DictionaryEntry?entry in _columns.Cast <DictionaryEntry?>().ToList()) { if (entry == null || !(entry.Value.Value is Column c) || c?.Default == null) { continue; } Column n = c.Default.Clone(); n.Key = c.Key; n.TryCompileFilter(); n.Default = c.Default; _columns[entry.Value.Key] = n; await StoreColumnConfig(n); if (c.Shown != n.Shown) { OnColumnVisibilityUpdate?.Invoke(c.ID); } } // foreach (Column? c in _columns.Values) // { // if (c == null) continue; // // // c = c.Default; // // c.Shown = true; // c.FilterValue = ""; // c.SortDirection = SortDirections.Neutral; // c.SortIndex = 0; // // if (RegexMode) // c.TryCompileFilter(); // // await StoreColumnConfig(c); // } if (_initialPageSize != PageSize) { await UpdatePageSize(_initialPageSize); } InvalidateRows(); await FirstPage(); OnReset?.Invoke(); }
public async Task SetColumnVisibility(string id, bool shown) { ((Column)_columns[id]).Shown = shown; await StoreColumnConfig((Column)_columns[id]); _matchedRowCache = null; _sortedRowCache = null; OnColumnVisibilityUpdate.Invoke(id); ExecutePending(); }