Exemplo n.º 1
0
        public static void ResetGridGrouping(SfDataGrid dataGrid, string prefab, MasterTablePage page, bool shouldReset)
        {
            if (!shouldReset)
            {
                dataGrid.GroupColumnDescriptions.Clear();
                //ResetGridSorting(dataGrid, prefab, true);

                page.DefaultGroupingButton.IsChecked = false;

                page.SearchBox.IsEnabled = true;

                return;
            }

            dataGrid.GroupColumnDescriptions.Clear();
            if (string.IsNullOrWhiteSpace(prefab))
            {
                return;
            }
            List <int> groups = App.GetGroups(prefab);

            //groups.Reverse();
            using (var conn = new SqlConnection(App.ConnectionString))
            {
                conn.Open();
                DataTable prefabTable = App.GetPrefabDataTable(conn, $"{App.Settings["Schema"]}_PREFABS", prefab);

                foreach (int i in groups)
                {
                    var grouper = new GroupColumnDescription
                    {
                        ColumnName = prefabTable.Rows[i]["COLUMNS"].ToString()
                    };
                    if (!dataGrid.GroupColumnDescriptions.Contains(grouper))
                    {
                        dataGrid.GroupColumnDescriptions.Add(grouper);
                    }
                }

                conn.Close();
            }

            page.SearchBox.IsEnabled = false;

            //ResetGridSorting(dataGrid, prefab);
        }
Exemplo n.º 2
0
        public static SfDataGrid DefaultDataGridTemplate(DataTable dataTable, int sheetIndex, MasterTablePage page,
                                                         string prefab)
        {
            SfDataGrid dataGrid = new SfDataGrid
            {
                ItemsSource             = dataTable,
                AllowDraggingColumns    = true,
                AllowDraggingRows       = true,
                AllowDeleting           = true,
                AllowGrouping           = true,
                ShowRowHeader           = true,
                AllowFrozenGroupHeaders = true,
                AllowFiltering          = true,
                AllowTriStateSorting    = true,
                ShowSortNumbers         = true,
                AllowResizingColumns    = true,
                AllowEditing            = true,
                NavigationMode          = NavigationMode.Cell,
                AutoGenerateColumns     = false,
                SelectionUnit           = GridSelectionUnit.Any,
                SelectionMode           = GridSelectionMode.Extended,
                GridValidationMode      = GridValidationMode.InView,
                IsEnabled            = true,
                HeaderRowHeight      = 30,
                ShowGroupDropArea    = true,
                ColumnSizer          = GridLengthUnitType.Auto,
                IsDynamicItemsSource = true,
                LiveDataUpdateMode   = LiveDataUpdateMode.AllowDataShaping,
                UsePLINQ             = true,
                AddNewRowPosition    = AddNewRowPosition.FixedTop
            };

            //dataGrid.SearchHelper = new SearchHelperExt(dataGrid);
            //dataGrid.SortColumnDescriptions.CollectionChanged += (sender, args) =>
            //{
            //	page.ResetSorts.IsChecked = false;
            //};
            //dataGrid.RecordDeleted += (sender, args) => { page.RevertChanges.IsEnabled = true; };

            var j = 0;

            dataGrid.Loaded += (sender, args) =>
            {
                if (j == 0)
                {
                    GenerateColumnsSfDataGrid(dataGrid, dataTable, prefab);

                    ResetGridSorting(dataGrid, prefab, true);
                }

                j++;
            };

            return(dataGrid);
        }