Category / Section
How to get the position of a row in datasource from the current cell's rowIndex in WinForms GridGroupingControl?
1 min read
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, unsorted position of the element's parent record gives the underlying DataRow position.
C#
//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);
VB
'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: