Exemple #1
0
        private static void ApplySettingsToColumns(DataGrid dataGrid, Action <DataGrid, DataGridColumn, DataGridColumnSettingsModel> function)
        {
            DataGridSettings settings = GetDataGridSettings(dataGrid.Name);

            if (settings.ColumnsSetting == null || !settings.ColumnsSetting.Any())
            {
                return;
            }

            IEnumerable <DataGridColumn> columns = dataGrid.Columns.Where(column => column.Header != null);

            foreach (DataGridColumn column in columns)
            {
                DataGridColumnSettingsModel columnSettings = settings.ColumnsSetting.FirstOrDefault(iColumnSettings => iColumnSettings.Header.Equals(
                                                                                                        column.Header.ToString(), StringComparison.InvariantCultureIgnoreCase));

                if (columnSettings == null)
                {
                    continue;
                }

                function(dataGrid, column, columnSettings);
            }
        }
Exemple #2
0
        private static void SaveSettings(DataGrid dataGrid, DataGridColumnSettingsType settingsType)
        {
            DataGridSettings settings = GetDataGridSettings(dataGrid.Name);

            IEnumerable <DataGridColumn> columns = dataGrid.Columns.Where(column => column.Header != null);

            settings.ColumnsSetting = settings.ColumnsSetting ?? new List <DataGridColumnSettingsModel>();

            foreach (DataGridColumn column in columns)
            {
                DataGridColumnSettingsModel columnSettings = settings.ColumnsSetting.FirstOrDefault(iColumnSettings => iColumnSettings.Header.Equals(
                                                                                                        column.Header.ToString(), StringComparison.InvariantCultureIgnoreCase));

                if (columnSettings != null)
                {
                    switch (settingsType)
                    {
                    case DataGridColumnSettingsType.DisplayIndex:
                        columnSettings.DisplayIndex = column.DisplayIndex;
                        break;

                    case DataGridColumnSettingsType.Sorting:
                        columnSettings.SortDirection = column.SortDirection;
                        break;

                    case DataGridColumnSettingsType.Width:
                        columnSettings.Width = new DataGridLengthSettingsModel
                        {
                            Value        = column.Width.Value,
                            DesiredValue = column.Width.DesiredValue,
                            DisplayValue = column.Width.DisplayValue,
                            UnitType     = column.Width.UnitType
                        };
                        break;

                    case DataGridColumnSettingsType.Visibility:
                        columnSettings.Visibility = column.Visibility;
                        break;
                    }
                }
                else
                {
                    columnSettings = new DataGridColumnSettingsModel
                    {
                        Header       = column.Header.ToString(),
                        DisplayIndex = column.DisplayIndex,
                        Width        = new DataGridLengthSettingsModel
                        {
                            Value        = column.Width.Value,
                            DesiredValue = column.Width.DesiredValue,
                            DisplayValue = column.Width.DisplayValue,
                            UnitType     = column.Width.UnitType
                        },
                        SortDirection = column.SortDirection,
                        Visibility    = column.Visibility
                    };

                    settings.ColumnsSetting.Add(columnSettings);
                }
            }

            settings.Save();
        }
Exemple #3
0
 private static void SetColumnVisibility(DataGrid dataGrid, DataGridColumn column, DataGridColumnSettingsModel settings)
 {
     column.Visibility = settings.Visibility;
 }
Exemple #4
0
        private static void SetColumnSorting(DataGrid dataGrid, DataGridColumn column, DataGridColumnSettingsModel settings)
        {
            column.SortDirection = settings.SortDirection;

            if (!column.SortDirection.HasValue)
            {
                return;
            }

            dataGrid.Items.SortDescriptions.Clear();

            dataGrid.Items.SortDescriptions.Add(new SortDescription(column.SortMemberPath, column.SortDirection.Value));

            dataGrid.Items.Refresh();
        }
Exemple #5
0
 private static void SetColumnDisplayIndex(DataGrid dataGrid, DataGridColumn column, DataGridColumnSettingsModel settings)
 {
     if (settings.DisplayIndex < dataGrid.Columns.Count)
     {
         column.DisplayIndex = settings.DisplayIndex;
     }
 }
Exemple #6
0
 private static void SetColumnWidth(DataGrid dataGrid, DataGridColumn column, DataGridColumnSettingsModel settings)
 {
     column.Width = new DataGridLength(settings.Width.Value, settings.Width.UnitType, settings.Width.DesiredValue, settings.Width.DisplayValue);
 }