Articles in this section
Category / Section

How to move the current cell with various options in WinForms GridGroupingControl?

3 mins read

Moving a current cell

By default, the CurrentCell can be moved to a particular cell by using the MoveTo method. This article explains about moving a CurrentCell in the WinForms Grid Control with the following options:

  • Activating the CurrentCell with cursor at the end position.    

activating the currentcell with cursor at end position

  • Activating the CurrentCell with highlighting the cellvalue.

activating the currentcell with highlighting the cell value

Solution

In order to achieve this, initially the CurrentCell has to be moved to a particular cell by using the MoveTo method. And then the cursor position and cell value highlighting can be achieved by using the CellRenderer or GridTextBoxCellRenderer as follows.

Activating the CurrentCell with cursor at the end position

C#

private void moveBtn_Click(object sender, EventArgs e)
{
     int columnIndex = -1;
     int.TryParse(this.columnIndexText.Text.ToString(), out columnIndex);
     //Getting the record rowIndex based on its position.
     int recordIndex = -1;
     int.TryParse(this.recordIndexText.Text.ToString(), out recordIndex);
     if (recordIndex > 0 && columnIndex > 0)
     {
         //Getting RowIndex and ColumnIndex. 
         columnIndex = this.gridGroupingControl1.TableDescriptor.FieldToColIndex(columnIndex - 1);
         recordIndex = this.gridGroupingControl1.Table.Records[recordIndex - 1].GetRowIndex();
         //Moving the current cell.
         this.gridGroupingControl1.TableControl.CurrentCell.MoveTo(recordIndex, columnIndex, Syncfusion.Windows.Forms.Grid.GridSetCurrentCellOptions.SetFocus);
         this.gridGroupingControl1.Focus();
         //Setting the cursor at end position of cell.
         if (this.gridGroupingControl1.TableControl.CurrentCell.Renderer is GridTextBoxCellRenderer)
            {
                GridTextBoxCellRenderer renderer = this.gridGroupingControl1.TableControl.CurrentCell.Renderer as GridTextBoxCellRenderer;
                renderer.TextBox.SelectionStart = renderer.TextBox.Text.Length;
            }
      }
}

VB

Private Sub moveBtn_Click(ByVal sender As Object, ByVal e As EventArgs) Handles moveBtn.Click
       Dim columnIndex As Integer = -1
       Integer.TryParse(Me.columnIndexText.Text.ToString(), columnIndex)
       'Getting the record rowIndex based on its position.
        Dim recordIndex As Integer = -1
        Integer.TryParse(Me.recordIndexText.Text.ToString(), recordIndex)
        If recordIndex > 0 AndAlso columnIndex > 0 Then
          'Getting RowIndex and ColumnIndex. 
           columnIndex = Me.gridGroupingControl1.TableDescriptor.FieldToColIndex(columnIndex - 1)
            recordIndex = Me.gridGroupingControl1.Table.Records(recordIndex - 1).GetRowIndex()
 'Moving the current cell.    Me.gridGroupingControl1.TableControl.CurrentCell.MoveTo(recordIndex, columnIndex, Syncfusion.Windows.Forms.Grid.GridSetCurrentCellOptions.SetFocus)
 Me.gridGroupingControl1.Focus()
 'Setting the cursor at end position of cell.
 If TypeOf Me.gridGroupingControl1.TableControl.CurrentCell.Renderer Is GridTextBoxCellRenderer Then
 Dim renderer As GridTextBoxCellRenderer = TryCast(Me.gridGroupingControl1.TableControl.CurrentCell.Renderer, GridTextBoxCellRenderer)
 renderer.TextBox.SelectionStart = renderer.TextBox.Text.Length
             End If
     End If
End Sub

Screenshot

activating the currentcell with cursor at end position

Figure 1: Activating the CurrentCell with cursor at the end position

Activating the CurrentCell with highlighting the cellvalue

C#

private void moveWithHighlightBtn_Click(object sender, EventArgs e)
{
     int columnIndex = -1;
     int.TryParse(this.columnIndexText.Text.ToString(), out columnIndex);
     //Getting the record rowIndex based on its position.
     int recordIndex = -1;
     int.TryParse(this.recordIndexText.Text.ToString(), out recordIndex);
            if (recordIndex > 0 && columnIndex > 0)
            {
                //Getting RowIndex and ColumnIndex. 
                columnIndex = this.gridGroupingControl1.TableDescriptor.FieldToColIndex(columnIndex - 1);
                recordIndex = this.gridGroupingControl1.Table.Records[recordIndex - 1].GetRowIndex();
                //Moving the current cell.
                this.gridGroupingControl1.TableControl.CurrentCell.MoveTo(recordIndex, columnIndex, Syncfusion.Windows.Forms.Grid.GridSetCurrentCellOptions.SetFocus);
                this.gridGroupingControl1.Focus();
                //Setting the cursor at end position of cell.
                if (this.gridGroupingControl1.TableControl.CurrentCell.Renderer is GridTextBoxCellRenderer)
                {
                    GridTextBoxCellRenderer renderer = this.gridGroupingControl1.TableControl.CurrentCell.Renderer as GridTextBoxCellRenderer;
                    renderer.TextBox.SelectAll();
                }
           }
}

VB

Private Sub moveWithHighlightBtn_Click(ByVal sender As Object, ByVal e As EventArgs) Handles moveWithHighlightBtn.Click
       Dim columnIndex As Integer = -1
       Integer.TryParse(Me.columnIndexText.Text.ToString(), columnIndex)
       'Getting the record rowIndex based on its position.
        Dim recordIndex As Integer = -1
        Integer.TryParse(Me.recordIndexText.Text.ToString(), recordIndex)
        If recordIndex > 0 AndAlso columnIndex > 0 Then
          'Getting RowIndex and ColumnIndex. 
           columnIndex = Me.gridGroupingControl1.TableDescriptor.FieldToColIndex(columnIndex - 1)
            recordIndex = Me.gridGroupingControl1.Table.Records(recordIndex - 1).GetRowIndex()
 'Moving the current cell.    Me.gridGroupingControl1.TableControl.CurrentCell.MoveTo(recordIndex, columnIndex, Syncfusion.Windows.Forms.Grid.GridSetCurrentCellOptions.SetFocus)
 Me.gridGroupingControl1.Focus()
 'Setting the cursor at end position of cell.
 If TypeOf Me.gridGroupingControl1.TableControl.CurrentCell.Renderer Is GridTextBoxCellRenderer Then
 Dim renderer As GridTextBoxCellRenderer = TryCast(Me.gridGroupingControl1.TableControl.CurrentCell.Renderer, GridTextBoxCellRenderer)
 renderer.TextBox.SelectAll()
             End If
     End If
End Sub

Screenshot

activating the currentcell with highlighting the cell value

Figure 2: Activating the CurrentCell with highlighting the cellvalue

Samples:

C#: CurrentCell_Moving_CS

VB: CurrentCell_Moving_VB

Conclusion

I hope you enjoyed learning about how to move the current cell with various options in WinForms GridGroupingControl.

You can refer to our WinForms Grid Control’s feature tour page to know about its other groundbreaking feature representations. You can also explore our WinForms Grid Control documentation to understand how to present and manipulate data. 

For current customers, you can check out our WinForms components from the License and Downloads page. If you are new to Syncfusion, you can try our 30-day free trial to check out our WinForms Grid Control and other WinForms components.

If you have any queries or require clarifications, please let us know in comments below. You can also contact us through our support forums, Direct-Trac, or feedback portal. We are always happy to assist you!

 

 

Did you find this information helpful?
Yes
No
Help us improve this page
Please provide feedback or comments
Comments (0)
Please sign in to leave a comment
Access denied
Access denied