/// <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(); } }
protected override void OnInitialized() { // connect column to the parent datagrid ParentDataGrid?.Hook(this); base.OnInitialized(); }
private void FilterCellComboBox_KeyDown(object sender, KeyEventArgs e) { if (e.KeyCode == Keys.Enter) { if (ParentDataGrid.IsCurrentCellInEditMode) { ParentDataGrid.EndEdit(); } } }
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(); }
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); } }
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); } } } }
/// <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(); } }
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(); }
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; }