public void RestoreSelection( [NotNull] BoundDataGridSelectionState <ROW> selectionState) { Assert.ArgumentNotNull(selectionState, nameof(selectionState)); if (_msg.IsVerboseDebugEnabled) { _msg.VerboseDebugFormat("Restoring selection ({0} row(s))", selectionState.SelectionCount); } DataGridViewUtils.RestoreSelection(_dataGridView, selectionState); }
public bool TrySortBindingList <T>([NotNull] IBindingList bindingList, [NotNull] DataGridView dataGridView) where T : class { var listSortDirection = GetListSortDirection(); if (listSortDirection == null || SortedColumnName == null) { return(false); } return(DataGridViewUtils.TrySortBindingList <T>( bindingList, dataGridView, SortedColumnName, listSortDirection.Value)); }
/// <summary> /// Binds a data grid view to the given binding list of rows /// </summary> /// <param name="rows">The rows.</param> /// <param name="autoGenerateColumns">Indicates if columns should be dynamically added based on the bound type</param> /// <param name="sortStateOverride">Optional sort state to apply regardless of the current sort state of the grid.</param> /// <param name="defaultSortState">Optional default sort state, to be applied when there is no current or override sort state.</param> /// <param name="selectionStateOverride"></param> public bool BindTo([NotNull] IList <ROW> rows, bool autoGenerateColumns = false, DataGridViewSortState sortStateOverride = null, DataGridViewSortState defaultSortState = null, BoundDataGridSelectionState <ROW> selectionStateOverride = null) { Assert.ArgumentNotNull(rows, nameof(rows)); return(DataGridViewUtils.BindTo(_dataGridView, rows, autoGenerateColumns, sortStateOverride, defaultSortState, selectionStateOverride)); }
public bool TryApplyState([NotNull] DataGridView dataGridView) { Assert.ArgumentNotNull(dataGridView, nameof(dataGridView)); return(DataGridViewUtils.TryApplySortState(dataGridView, this)); }
public BoundDataGridSelectionState <ROW> GetSelectionState() { return(DataGridViewUtils.GetSelectionState <ROW>(_dataGridView)); }
// This overload would be useful, but the scrolling to the first selected // row does not work. Further analysis needed. Possibly the FirstDisplayedScrollingRowIndex // call must be in a later event? //public void RestoreSelection(BoundDataGridSelectionState<ROW> selectionState, // bool ensureFirstSelectedRowIsVisible) //{ // Assert.ArgumentNotNull(selectionState, "selectedRows"); // if (selectionState.SelectionCount == 0) // { // return; // } // DataGridViewRow firstSelectedRow = null; // foreach (DataGridViewRow row in _dataGridView.Rows) // { // ROW tableRow = row.DataBoundItem as ROW; // if (tableRow != null && selectionState.IsSelected(tableRow)) // { // if (firstSelectedRow == null) // { // firstSelectedRow = row; // } // row.Selected = true; // } // } // if (ensureFirstSelectedRowIsVisible && firstSelectedRow != null) // { // if (!firstSelectedRow.Displayed) // { // _dataGridView.CurrentCell = firstSelectedRow.Cells[0]; // _dataGridView.FirstDisplayedScrollingRowIndex = firstSelectedRow.Index; // } // } //} public bool IsSortingColumn([NotNull] DataGridViewCellMouseEventArgs e) { return(DataGridViewUtils.IsColumnSortEvent(_dataGridView, e)); }