Category / Section
How to get the position of a row in datasource from the current cell's rowIndex in WinForms GridGroupingControl?
Row positions
The current cell’s RowIndex gives the elements displayed in the current row, and by using the element, you can get the record details. When it is a record row, the unsorted position of the element's parent record gives the underlying DataRow position.
//Get the Current Cell.
GridCurrentCell cc = this.gridGroupingControl1.TableControl.CurrentCell;
//Create a table object.
Table table = this.gridGroupingControl1.TableControl.Table;
//Retrieve the element from the curret RowIndex.
Element el = table.DisplayElements[cc.RowIndex];
//Get the elements parent record.
Record r = el.ParentRecord;
//Retrieve the position of the record by using the unsorted table index.
int dataRowPos = table.UnsortedRecords.IndexOf(r);
//Prints the current row positon.
Console.WriteLine("The Positon of the Row=" + dataRowPos);'Get the Current Cell.
Dim cc As GridCurrentCell = Me.gridGroupingControl1.TableControl.CurrentCell
'Create a table object.
Dim table As Table = Me.gridGroupingControl1.TableControl.Table
'Retrieve the element from the curret RowIndex.
Dim el As Element = table.DisplayElements(cc.RowIndex)
'Get the elements parent record.
Dim r As Record = el.ParentRecord
'Retrieve the position of the record by using the unsorted table index.
Dim dataRowPos As Integer = table.UnsortedRecords.IndexOf(r)
'Prints the current row positon.
Console.WriteLine("The Positon of the Row=" & dataRowPos)Samples: