public override void Reload(List <T> _StoreSource, string contain = "") { this.Children.Clear(); CustomDataGrid dataGrid = new CustomDataGrid(); dataGrid.Columns.Clear(); dataGrid.AutoGenerateColumns = false; dataGrid.IsReadOnly = true; dataGrid.SelectionChanged += new SelectionChangedEventHandler(selectionChanged); if (StoreSource.Any()) { foreach (DataGridColumn Column in StoreSource.First().previewList()) { dataGrid.Columns.Add(Column); } } dataGrid.ItemsSource = _StoreSource.Where(x => x.IsRelated(Id.ToString())); dataGrid.ContextMenu = this.getContextMenu(); this.Children.Add(dataGrid); }
protected override void OnOpened(EventArgs e) { base.OnOpened(e); _grid = this.GetVisualParent<CustomDataGrid>(); ColumnsItems = _grid.Columns .Select(r => new ColumnsVisibilityContainer(r)) .ToList(); }
private bool remember_cgd_inner(bool debug = false) { if (debug) { int i = 9; } if (SelectedDevice == null) { return(false); } if (!SelectedDevice.Mappings.Any()) { return(false); } var first_m = SelectedDevice.Mappings.First(); var first_p = SelectedDevice.Mappings.First().ParentSelector; if (first_p == null) { return(false); } var what = SelectedDevice.Mappings.First().ParentSelector; if (!(what is CustomDataGrid)) { return(false); } CustomDataGrid new_cdg = (CustomDataGrid)what; if (_cdg_parent_selector == null) { _cdg_parent_selector = new_cdg; return(true); } if (_cdg_parent_selector != new_cdg) { return(false); } // we remember the SAME datagrid. The only sane outcome return(true); }
protected override void OnOpened(EventArgs e) { base.OnOpened(e); _grid = this.GetVisualParent<CustomDataGrid>(); var header = this.GetVisualParent<DataGridColumnHeader>(); _column = header.Column; var listCollectionView = _grid.Items.SourceCollection as ListCollectionView; if (listCollectionView != null && (listCollectionView.IsAddingNew || listCollectionView.IsEditingItem)) { IsOpen = false; return; } if (GetFiltersContainer(_grid) == null) { var container = new FiltersContainer(); SetFiltersContainer(_grid, container); } if (_column == null) return; var itemsOfSourceCollection = ((ListCollectionView) _grid.Items.SourceCollection).SourceCollection.Cast<object>(); var namesCollection = GetNamesOfItemsFromSourceCollection(itemsOfSourceCollection); if (namesCollection == null) return; var filterItems = namesCollection.ConvertAll(r => new FilterItem(r) {IsChecked = true}); ResetToLastSelectedItemsOfFiltering(filterItems); FilterItems = CollectionViewSource.GetDefaultView(filterItems); FilterItems.SortDescriptions.Add(new SortDescription("Name", ListSortDirection.Ascending)); SearchContent = ""; }