public bool Equals(DataGridColumnSettings other) { if (other == null) { return(false); } return(Header.Equals(other.Header, StringComparison.InvariantCultureIgnoreCase)); }
private static void SaveSettings(DataGrid dataGrid, DataGridColumnSettingsType settingsType) { var settings = GetDataGridSettings(dataGrid.Name); var columns = dataGrid.Columns.Where(column => column.Header != null); settings.ColumnsSetting ??= new List <DataGridColumnSettings>(); foreach (var column in columns) { var 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 DataGridLengthSettings { 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 DataGridColumnSettings { Header = column.Header.ToString(), DisplayIndex = column.DisplayIndex, Width = new DataGridLengthSettings { 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(); }
private static void SetColumnVisibility(DataGrid dataGrid, DataGridColumn column, DataGridColumnSettings settings) { column.Visibility = settings.Visibility; }
private static void SetColumnSorting(DataGrid dataGrid, DataGridColumn column, DataGridColumnSettings 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(); }
private static void SetColumnDisplayIndex(DataGrid dataGrid, DataGridColumn column, DataGridColumnSettings settings) { if (settings.DisplayIndex >= 0 && settings.DisplayIndex < dataGrid.Columns.Count) { column.DisplayIndex = settings.DisplayIndex; } }
private static void SetColumnWidth(DataGrid dataGrid, DataGridColumn column, DataGridColumnSettings settings) { column.Width = new DataGridLength(settings.Width.Value, settings.Width.UnitType, settings.Width.DesiredValue, settings.Width.DisplayValue); }