private void SaveColumns(ManagementList subject) { if (!VerifyColumnsSavable(subject, this.SaveColumns)) { return; } this.columns.Clear(); int i = 0; foreach (InnerListColumn ilc in subject.List.InnerGrid.Columns) { ColumnStateDescriptor csd = CreateColumnStateDescriptor(ilc, true); csd.Index = i++; this.columns.Add(ilc.DataDescription.PropertyName, csd); } foreach (InnerListColumn ilc in subject.List.InnerGrid.AvailableColumns) { if (subject.List.InnerGrid.Columns.Contains(ilc)) { continue; } ColumnStateDescriptor csd = CreateColumnStateDescriptor(ilc, false); csd.Index = i++; this.columns.Add(ilc.DataDescription.PropertyName, csd); } }
private static ColumnStateDescriptor CreateColumnStateDescriptor(InnerListColumn ilc, bool isInUse) { ColumnStateDescriptor csd = new ColumnStateDescriptor(); csd.IsInUse = isInUse; csd.Width = GetColumnWidth(ilc); csd.SortDirection = ilc.DataDescription.SortDirection; return(csd); }