private static void DefaultColumnsSizeCb(DependencyObject d, DependencyPropertyChangedEventArgs e) { SfDataGrid dataGrid = d as SfDataGrid; if (d != null) { ObservableCollection <KarveGridExt.ColParamSize> cols = GetDefaultColumnsSize(d, e); // ok here we can set the columns. if (dataGrid != null) { foreach (var value in cols) { if (value.ColumnIndex < dataGrid.Columns.Count) { dataGrid.Columns[value.ColumnIndex].Width = value.ColumnWidth; } } // FIXME: usare la base de datos con los colmmans para riversar la serialization in a memory stream. var combinePath = Path.Combine(_gridOptionPath, "GridOptions_" + dataGrid.Name + ".xml"); using (var file = File.Open(combinePath, FileMode.Open)) { dataGrid.Deserialize(file); } dataGrid.RefreshColumns(); } } }
public void ClickOKButton(ObservableCollection <ColumnChooserItems> hiddenColumnCollection, ObservableCollection <ColumnChooserItems> visibleColumnCollection, SfDataGrid dataGrid) { dataGrid.Columns.Suspend(); Columns columns = new Columns(); foreach (var item in visibleColumnCollection) { var column = dataGrid.Columns.FirstOrDefault(col => col.MappingName == item.Name); if (column != null) { columns.Add(column); } if (column.IsHidden) { column.IsHidden = false; } } foreach (var item in hiddenColumnCollection) { var column = dataGrid.Columns.FirstOrDefault(col => col.MappingName == item.Name); if (column != null) { columns.Add(column); } if (!column.IsHidden) { column.IsHidden = true; } } dataGrid.Columns.Clear(); dataGrid.Columns = columns; dataGrid.Columns.Resume(); dataGrid.RefreshColumns(); viewModel.ShowColumnChooser = false; }