private void Initialise(Column[] _columns, Window _containingWindow) { InitializeComponent(); columns = _columns; tableName = columns[0].TableName; lblManageFilters.Content = $"Manage {tableName} Filters (0)"; containingWindow = _containingWindow; currentData = DBMethods.MetaRequests.GetAllFromTable(tableName, columns.Select(c => c.Name).ToArray()); DtgMethods.CreateTable(currentData, tableName, ref dtg, columns, ref dataTable, true); dtg.FontSize = 14; lblCount.Content = $"Count: {currentData.Count}"; //try { dtgData.SelectedIndex = 0; } //catch { } filterManager = new UserControls.FilterManager(columns, this) { Margin = new Thickness(0, 21.21320344, 0, 0) }; grdFiltersOuter.Children.Add(filterManager); }
/// <summary> /// Called whenever changes to the filters are saved /// </summary> internal void FiltersSaved() { lblManageFilters.Content = $"Manage {tableName} Filters ({filterManager.GetFilterCount()})"; grdFiltersOuter.Visibility = Visibility.Collapsed; List <string> tablesReferenced = filterManager.GetTablesReferenced(); try { string filterText = filterManager.GetFilterText(); string sql = ConstructSQL(filterText, tablesReferenced); currentData = DBMethods.DBAccess.GetListStringsWithQuery(sql); DtgMethods.CreateTable(currentData, tableName, ref dtg, columns, ref dataTable, true); lblCount.Content = $"Count: {currentData.Count}"; } catch { MessageBox.Show("Error: Invalid filter(s)!"); } }