예제 #1
0
        public void MoveSelectedDown()
        {
            var item1 = SelectedVisibleColumn;
            var item2 = SelectedColumns[SelectedColumns.IndexOf(item1) + 1];

            SelectedColumns.Swap(item1, item2);
            SelectedVisibleColumn = item1;
        }
예제 #2
0
        public void HideColumn()
        {
            var oldIndex = SelectedColumns.IndexOf(SelectedVisibleColumn);
            int newIndex = oldIndex;

            if (newIndex >= (SelectedColumns.Count - 1))
            {
                --newIndex;
            }

            var col = SelectedVisibleColumn;

            SelectedVisibleColumn = null;
            col.Visible           = false;
            SelectedVisibleColumn = (newIndex >= 0) ? SelectedColumns[newIndex] : null;
        }
        public void MoveDown()
        {
            if (SelectedColumns.Count == 0 || SelectedColumns.Last().IsSelected)
            {
                return;
            }

            var selected = SelectedColumns.Where(c => c.IsSelected).Reverse().ToArray();

            foreach (var item in selected)
            {
                var index = SelectedColumns.IndexOf(item);
                SelectedColumns.RemoveAt(index);
                SelectedColumns.Insert(index + 1, item);
            }
        }
예제 #4
0
        public ColumnSelectorVM(IEnumerable <GuiGridColumn> columns, OnSaveDelegate onSave)
        {
            _onSave = onSave;

            CloseCommand = new DelegateCommand(
                o => true,
                o => CloseAction()
                );

            SaveCommand = new DelegateCommand(
                o => true,
                o => Save()
                );

            UpColumnCommand = new DelegateCommand(
                o => SelectedSelectedColumn != null && SelectedColumns.IndexOf(SelectedSelectedColumn) > 0,
                o => UpColumn(SelectedSelectedColumn)
                );

            DownColumnCommand = new DelegateCommand(
                o => SelectedSelectedColumn != null && SelectedColumns.IndexOf(SelectedSelectedColumn) < SelectedColumns.Count - 1,
                o => DownColumn(SelectedSelectedColumn)
                );

            AddColumnCommand = new DelegateCommand(
                o => SelectedAvailableColumn != null,
                o => AddColumn(SelectedAvailableColumn)
                );

            RemoveColumnCommand = new DelegateCommand(
                o => SelectedSelectedColumn != null,
                o => RemoveColumn(SelectedSelectedColumn)
                );

            ResetDefaultsCommand = new DelegateCommand(
                o => true,
                o => ResetDefaults()
                );

            SetColumns(columns);
        }
예제 #5
0
        /// <summary>
        /// Move column down in order
        /// </summary>
        /// <param name="column"></param>
        private void DownColumn(GuiGridColumn column)
        {
            int idx = SelectedColumns.IndexOf(column);

            SelectedColumns.Move(idx, idx + 1);
        }