Exemple #1
0
        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();
        }
Exemple #3
0
        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 = "";
        }