public static void LoadWorkSpace(this ReferenceGridForm referenceGridForm, WorkSpace workSpace)
        {
            Program.Settings.ReferenceGridForm.AllowUpdate       = workSpace.AllowUpdate;
            Program.Settings.ReferenceGridForm.GroupByBoxVisible = workSpace.GroupByBoxVisible;
            Program.Settings.ReferenceGridForm.ColumnDescriptors.Clear();
            workSpace.Columns.ForEach(cl => Program.Settings.ReferenceGridForm.ColumnDescriptors.Add(cl));
#pragma warning disable CA2000 // Objekte verwerfen, bevor Bereich verloren geht
            referenceGridForm.Invoke("mainGrid_InitializeLayout", new object(), new InitializeLayoutEventArgs(new UltraGridLayout()));
#pragma warning restore CA2000 // Objekte verwerfen, bevor Bereich verloren geht
            referenceGridForm.Invoke("Refresh");
        }
        public static WorkSpace CreateWorkSpaceByName(this ReferenceGridForm referenceGridForm, string name)
        {
            var workSpace = new WorkSpace {
                Caption = name
            };
            var mainGrid = referenceGridForm.Field <ReferenceGridForm, UltraGrid>("mainGrid");

            workSpace.GroupByBoxVisible = !mainGrid.DisplayLayout.GroupByBox.Hidden;

            #region Save Visible Columns

            for (int i = 0; i < mainGrid.DisplayLayout.Bands[0].Columns.Count; i++)
            {
                foreach (var column in mainGrid.DisplayLayout.Bands[0].Columns)
                {
                    if (column.Header.VisiblePosition == i)
                    {
                        //not only do we have to consider visible columns, but also those "hidden" columns that are currently used for grouping
                        if (column.IsGroupByColumn || !column.Hidden)
                        {
                            workSpace.Columns.Add(new ColumnDescriptor(column.Key, Convert.ToInt32(column.Width / Control2.AutoScaleSize.Width)));
                        }
                        break;
                    }
                }
            }

            #endregion

            #region Save Sorted Columns

            var sortedColumns     = mainGrid.DisplayLayout.Bands[0].SortedColumns;
            var columnDescriptors = workSpace.Columns;
            var sortIndex         = 0;
            for (int i = 0; i < sortedColumns.Count; i++)
            {
                var sortedColumn     = sortedColumns[i];
                var columnDescriptor = columnDescriptors.FirstOrDefault(item => item.Key == sortedColumn.Key);
                if (columnDescriptor == null)
                {
                    continue;
                }

                columnDescriptor.IsGroupByColumn = sortedColumn.IsGroupByColumn;
                columnDescriptor.SortIndex       = sortIndex++;
                columnDescriptor.SortIndicator   = (ColumnSortIndicator)sortedColumn.SortIndicator;
            }

            #endregion

            workSpace.AllowUpdate = Program.Settings.ReferenceGridForm.AllowUpdate;

            return(workSpace);
        }
示例#3
0
        // Constructors

        public WorkSpaceEditorForm(ReferenceGridForm owner, AddonSettings settings) : base(owner)
        {
            InitializeComponent();
            Owner     = owner;
            _settings = settings;
        }