예제 #1
0
        /// <summary>
        /// Go down a row on dataGridFiles and select it
        /// </summary>
        private void SelectDownRow()
        {
            if (ParentDataGrid.Rows.Count > 0)
            {
                int totalRows = ParentDataGrid.Rows.Count;
                int rowIndex  = ParentDataGrid.SelectedCells[0].OwningRow.Index;
                if (rowIndex == totalRows - 1)
                {
                    return;
                }
                int             colIndex    = ParentDataGrid.SelectedCells[0].OwningColumn.Index;
                DataGridViewRow selectedRow = ParentDataGrid.Rows[rowIndex];
                ParentDataGrid.ClearSelection();
                ParentDataGrid.Rows[rowIndex + 1].Cells[colIndex].Selected = true;

                var URL = ParentDataGrid.CurrentRow.Cells[5].Value.ToString();

                if (ParentDataGrid.CurrentRow.Cells[4].Value.ToString() == "Local")
                {
                    MainForm.Form.ShowFileDetails(new WebFile(Path.GetExtension(URL).Replace(".", "").ToUpper(), Path.GetFileNameWithoutExtension(new Uri(URL).LocalPath), new FileInfo(URL).Length, File.GetCreationTime(URL), "Local", URL), ParentDataGrid, IsLocalFile, false);
                }
                else
                {
                    MainForm.Form.ShowFileDetails(Database.WebFile(URL), ParentDataGrid, IsLocalFile, false);
                }

                ScrollButtonChecks();
            }
        }
예제 #2
0
        protected override void OnInitialized()
        {
            // connect column to the parent datagrid
            ParentDataGrid?.Hook(this);

            base.OnInitialized();
        }
예제 #3
0
 private void FilterCellComboBox_KeyDown(object sender, KeyEventArgs e)
 {
     if (e.KeyCode == Keys.Enter)
     {
         if (ParentDataGrid.IsCurrentCellInEditMode)
         {
             ParentDataGrid.EndEdit();
         }
     }
 }
예제 #4
0
        protected override async Task OnInitializedAsync()
        {
            Columns = ParentDataGrid.DisplayableColumns;
            RowInfo = new DataGridRowInfo <TItem>(Item, this.Columns);

            ParentDataGrid.AddRow(RowInfo);

            if (ParentDataGrid.DetailRowStartsVisible)
            {
                await ParentDataGrid.ToggleDetailRow(Item);
            }

            await base.OnInitializedAsync();
        }
예제 #5
0
        protected override void OnInitialized()
        {
            if (ParentDataGrid != null)
            {
                // connect column to the parent datagrid
                ParentDataGrid.Hook(this);

                if (FilterTemplate != null)
                {
                    InitializeFilterContext();
                }
            }

            // initialize temporary variables
            CurrentDirection = Direction;

            base.OnInitialized();
        }
        /// <summary>
        ///     Method which start the column header drag. Includes raising events and creating default ghosts
        /// </summary>
        private void StartColumnHeaderDrag()
        {
            Debug.Assert(ParentDataGrid != null, "ParentDataGrid is null");

            _columnHeaderDragStartPosition = _columnHeaderDragCurrentPosition;
            DragStartedEventArgs dragStartedEventArgs = new DragStartedEventArgs(_columnHeaderDragStartPosition.X, _columnHeaderDragStartPosition.Y);

            ParentDataGrid.OnColumnHeaderDragStarted(dragStartedEventArgs);

            DataGridColumnReorderingEventArgs reorderingEventArgs = new DataGridColumnReorderingEventArgs(_draggingSrcColumnHeader.Column);

            _columnHeaderDragIndicator         = CreateColumnHeaderDragIndicator();
            _columnHeaderDropLocationIndicator = CreateColumnHeaderDropIndicator();

            reorderingEventArgs.DragIndicator         = _columnHeaderDragIndicator;
            reorderingEventArgs.DropLocationIndicator = _columnHeaderDropLocationIndicator;
            ParentDataGrid.OnColumnReordering(reorderingEventArgs);

            if (!reorderingEventArgs.Cancel)
            {
                _isColumnHeaderDragging            = true;
                _columnHeaderDragIndicator         = reorderingEventArgs.DragIndicator;
                _columnHeaderDropLocationIndicator = reorderingEventArgs.DropLocationIndicator;

                if (_columnHeaderDragIndicator != null)
                {
                    SetDefaultsOnDragIndicator();
                    AddVisualChild(_columnHeaderDragIndicator);
                }

                if (_columnHeaderDropLocationIndicator != null)
                {
                    SetDefaultsOnDropIndicator();
                    AddVisualChild(_columnHeaderDropLocationIndicator);
                }

                _draggingSrcColumnHeader.SuppressClickEvent = true;
                InvalidateMeasure();
            }
            else
            {
                FinishColumnHeaderDrag(true);
            }
        }
예제 #7
0
        protected override void OnInitialized()
        {
            if (ParentDataGrid != null)
            {
                // connect column to the parent datagrid
                ParentDataGrid.Hook(this);

                if (Filter != null)
                {
                    Filter.Subscribe(OnSearchValueChanged);
                }
            }

            // initialize temporary variables
            currentDirection[DataGridSortMode.Single]   = Direction;
            currentDirection[DataGridSortMode.Multiple] = Direction;

            base.OnInitialized();
        }
        /// <summary>
        ///     Gets called on mouse move of child header, and ensures column header drag
        /// </summary>
        internal void OnHeaderMouseMove(MouseEventArgs e)
        {
            if (e.LeftButton == MouseButtonState.Pressed)
            {
                if (_prepareColumnHeaderDragging)
                {
                    _columnHeaderDragCurrentPosition = e.GetPosition(this);

                    if (!_isColumnHeaderDragging)
                    {
                        if (CheckStartColumnHeaderDrag(_columnHeaderDragCurrentPosition, _columnHeaderDragStartPosition))
                        {
                            StartColumnHeaderDrag();
                        }
                    }
                    else
                    {
                        bool       shouldDisplayDragIndicator = IsMousePositionValidForColumnDrag(2.0);
                        Visibility dragIndicatorVisibility    = shouldDisplayDragIndicator ? Visibility.Visible : Visibility.Collapsed;

                        if (_columnHeaderDragIndicator != null)
                        {
                            _columnHeaderDragIndicator.Visibility = dragIndicatorVisibility;
                        }

                        if (_columnHeaderDropLocationIndicator != null)
                        {
                            _columnHeaderDropLocationIndicator.Visibility = dragIndicatorVisibility;
                        }

                        InvalidateArrange();

                        DragDeltaEventArgs dragDeltaEventArgs = new DragDeltaEventArgs(
                            _columnHeaderDragCurrentPosition.X - _columnHeaderDragStartPosition.X,
                            _columnHeaderDragCurrentPosition.Y - _columnHeaderDragStartPosition.Y);

                        _columnHeaderDragStartPosition = _columnHeaderDragCurrentPosition;
                        ParentDataGrid.OnColumnHeaderDragDelta(dragDeltaEventArgs);
                    }
                }
            }
        }
예제 #9
0
        /// <summary>
        /// Go down a row on dataGridFiles and select it
        /// </summary>
        private void SelectDownRow()
        {
            if (ParentDataGrid.Rows.Count > 0)
            {
                int totalRows = ParentDataGrid.Rows.Count;
                int rowIndex  = ParentDataGrid.SelectedCells[0].OwningRow.Index;
                if (rowIndex == totalRows - 1)
                {
                    return;
                }
                int             colIndex    = ParentDataGrid.SelectedCells[0].OwningColumn.Index;
                DataGridViewRow selectedRow = ParentDataGrid.Rows[rowIndex];
                ParentDataGrid.ClearSelection();
                ParentDataGrid.Rows[rowIndex + 1].Cells[colIndex].Selected = true;
                ParentDataGrid.Rows[rowIndex + 1].Selected = true;

                MainForm.Form.ShowFileDetails(Database.FtpFile(ParentDataGrid.CurrentRow.Cells[4].Value.ToString()), ParentDataGrid, false);

                ScrollButtonChecks();
            }
        }
예제 #10
0
        protected internal async Task HandleClick(BLMouseEventArgs eventArgs)
        {
            if (!clickFromCheck)
            {
                await ParentDataGrid.OnRowClickedCommand(new(Item, eventArgs) );
            }

            var selectable = ParentDataGrid.RowSelectable?.Invoke(Item) ?? true;

            if (!selectable)
            {
                return;
            }

            if (!clickFromCheck)
            {
                await HandleSingleSelectClick(eventArgs);
            }

            await HandleMultiSelectClick(eventArgs);

            clickFromCheck = false;
            await ParentDataGrid.Refresh();
        }
예제 #11
0
 public async void OnSearchValueChanged(string filterValue)
 {
     await ParentDataGrid.OnFilterChanged(this, filterValue);
 }
        internal Task IsCheckedChanged(bool e)
        {
            IsChecked = e;

            return(ParentDataGrid.OnMultiSelectAll(IsChecked));
        }
        /// <summary>
        ///     Method which completes the column header drag. Includes raising of events and changing column display index if needed.
        /// </summary>
        private void FinishColumnHeaderDrag(bool isCancel)
        {
            Debug.Assert(ParentDataGrid != null, "ParentDataGrid is null");
            _prepareColumnHeaderDragging = false;
            _isColumnHeaderDragging      = false;

            _draggingSrcColumnHeader.SuppressClickEvent = false;

            if (_columnHeaderDragIndicator != null)
            {
                _columnHeaderDragIndicator.Visibility = Visibility.Collapsed;
                DataGridColumnFloatingHeader floatingHeader = _columnHeaderDragIndicator as DataGridColumnFloatingHeader;
                if (floatingHeader != null)
                {
                    floatingHeader.ClearHeader();
                }

                RemoveVisualChild(_columnHeaderDragIndicator);
            }

            if (_columnHeaderDropLocationIndicator != null)
            {
                _columnHeaderDropLocationIndicator.Visibility = Visibility.Collapsed;
                DataGridColumnDropSeparator separator = _columnHeaderDropLocationIndicator as DataGridColumnDropSeparator;
                if (separator != null)
                {
                    separator.ReferenceHeader = null;
                }

                RemoveVisualChild(_columnHeaderDropLocationIndicator);
            }

            DragCompletedEventArgs dragCompletedEventArgs = new DragCompletedEventArgs(
                _columnHeaderDragCurrentPosition.X - _columnHeaderDragStartPosition.X,
                _columnHeaderDragCurrentPosition.Y - _columnHeaderDragStartPosition.Y,
                isCancel);

            ParentDataGrid.OnColumnHeaderDragCompleted(dragCompletedEventArgs);
            _draggingSrcColumnHeader.InvalidateArrange();

            if (!isCancel)
            {
                int  newDisplayIndex      = -1;
                bool dragEndPositionValid = IsMousePositionValidForColumnDrag(
                    2.0,
                    out newDisplayIndex);

                DataGridColumn column = _draggingSrcColumnHeader.Column;
                if (column != null && dragEndPositionValid && newDisplayIndex != column.DisplayIndex)
                {
                    column.DisplayIndex = newDisplayIndex;

                    DataGridColumnEventArgs columnEventArgs = new DataGridColumnEventArgs(_draggingSrcColumnHeader.Column);
                    ParentDataGrid.OnColumnReordered(columnEventArgs);
                }
            }

            _draggingSrcColumnHeader           = null;
            _columnHeaderDragIndicator         = null;
            _columnHeaderDropLocationIndicator = null;
        }