Syncfusion.Grid.Windows
Members  Example 


GridCurrentCell Class

Manages the current cell for a grid. Provides methods for activating, deactivating, and moving the current cell.
Object Model
GridCurrentCell ClassGridControlBase ClassGridCellModelBase ClassGridRangeInfo ClassGridCellRendererBase Class
Syntax
'Declaration
 
Public Class GridCurrentCell 
   Inherits GridSubComponent
'Usage
 
Dim instance As GridCurrentCell
public class GridCurrentCell : GridSubComponent 
Remarks
Use the CurrentCell property of the GridControlBase class to get access to the GridCurrentCell instance associated with a grid.

The GridCurrentCell class raises events in the associated grid to give you a chance to adjust the current cell's behavior at any stage.

Example
The following example shows how you can customize the behavior of the current cell and highlight the whole row of the current cell instead of just the current cell itself:
/// Current cell will be moving from one position to another.
protected override void OnCurrentCellMoving(GridCurrentCellMovingEventArgs e)
{
    e.Options |= GridSetCurrentCellOptions.BeginEndUpdate;
    // Instead of GridSetCurrentCellOptions.BeginEndUpdate we could also
    // sandwich the call in a Begin/EndUpdate pair ourselves ...
    //BeginUpdate(BeginUpdateOptions.InvalidateAndScroll);
}
            
/// Completes a current cell's MoveTo operation indicating success.
protected override void OnCurrentCellMoved(GridCurrentCellMovedEventArgs e)
{
    base.OnCurrentCellMoved(e);
    //EndUpdate();
}
            
/// Completes a current cell's MoveTo operation indicating failure.
protected override void OnCurrentCellMoveFailed(GridCurrentCellMoveFailedEventArgs e)
{
    base.OnCurrentCellMoveFailed(e);
    //EndUpdate();
}
            
/// Highlight the current row.
protected override void OnPrepareViewStyleInfo(GridPrepareViewStyleInfoEventArgs e)
{
    if (e.RowIndex > this.Model.Rows.HeaderCount && e.ColIndex > this.Model.Cols.HeaderCount
        && CurrentCell.HasCurrentCellAt(e.RowIndex))
    {
        e.Style.Interior = new BrushInfo(SystemColors.Highlight);
        e.Style.TextColor = SystemColors.HighlightText;
        e.Style.Font.Bold = true;
    }
    base.OnPrepareViewStyleInfo(e);
}
            
/// Refresh the whole row for the old position of the current cell when it is moved to
/// a new row or when current cell is deactivated stand-alone.
protected override void OnCurrentCellDeactivated(GridCurrentCellDeactivatedEventArgs e)
{
    // Check if Deactivate is called stand-alone or called from MoveTo and row is moving.
    if (!CurrentCell.IsInMoveTo || CurrentCell.MoveToRowIndex != CurrentCell.MoveFromRowIndex)
    {
        RefreshRange(GridRangeInfo.Row(e.RowIndex), GridRangeOptions.MergeAllSpannedCells);
    }
    base.OnCurrentCellDeactivated(e);
}
            
/// Refresh the whole row for the new current cell position when the current cell is moved
/// to a new row or when current cell is activated stand-alone (and there was no activate current cell).
protected override void OnCurrentCellActivated(EventArgs e)
{
    // Check if Activate is called stand-alone or called from MoveTo and row is moving
    base.OnCurrentCellActivated(e);
    if (!CurrentCell.IsInMoveTo || CurrentCell.MoveToRowIndex != CurrentCell.MoveFromRowIndex
        || !CurrentCell.MoveFromActiveState)
    {
        RefreshRange(GridRangeInfo.Row(CurrentCell.RowIndex), GridRangeOptions.MergeAllSpannedCells);
    }
}
Inheritance Hierarchy

System.Object
   Syncfusion.ComponentModel.NonFinalizeDisposable
      Syncfusion.Windows.Forms.Grid.GridSubComponent
         Syncfusion.Windows.Forms.Grid.GridCurrentCell

AssemblyVersion

Syncfusion.Grid.Windows: 17.3460.0.14

See Also