windowsforms-devexpress-dot-xtraverticalgrid-dot-rows-dot-baserow-4d99d6d1.md
Gets the parent row of the current grid row.
Namespace : DevExpress.XtraVerticalGrid.Rows
Assembly : DevExpress.XtraVerticalGrid.v25.2.dll
NuGet Packages : DevExpress.Win.Navigation, DevExpress.Win.VerticalGrid
[Browsable(false)]
public BaseRow ParentRow { get; }
<Browsable(False)>
Public ReadOnly Property ParentRow As BaseRow
| Type | Description |
|---|---|
| BaseRow |
A BaseRow descendant representing the row’s parent.
|
If a row is at the root level, the ParentRow property returns null. The row’s nesting level is specified by the BaseRow.Level property.
You can use the BaseRow.HasAsParent method to determine whether a specific row serves as a parent of the current row.
The following example demonstrates how to move the focused row to a specific category row. The example assumes that a grid control has a particular category row whose name is categoryRow_Notes among its rows.
The image below displays the look & feel of a grid control before and after execution of the sample code.
Note that the code listed below is cited as an example of using the different properties of a row object (such as BaseRow.ChildRows, BaseRow.HasAsParent, BaseRow.ParentRow). You can achieve the same results more easily by using the grid’s VGridControlBase.MoveRow method.
private void MoveFocusedToCategory() {
BaseRow focusedRow = vGridControl1.FocusedRow;
BaseRow categoryRow = vGridControl1.Rows["categoryRow_Notes"];
// checking whether the focused row already belongs to the category or
// becomes the category row itself
if (!(focusedRow.HasAsParent(categoryRow) | focusedRow == categoryRow)) {
// checking whether the focused row has a parent row or represents a root level row
if (focusedRow.ParentRow == null) {
// removing an object representing the focused row from
// the grid's collection of top level rows
vGridControl1.Rows.Remove(focusedRow);
}
else {
// removing an object representing the focused row from
// the rows collection of its parent row
focusedRow.ParentRow.ChildRows.Remove(focusedRow);
}
// adding an object representing the focused row
//to the end of the category row's chil rows collection
categoryRow.ChildRows.Add(focusedRow);
}
}
Private Sub MoveFocusedToCategory()
Dim FocusedRow As BaseRow = VGridControl1.FocusedRow
Dim CategoryRow As BaseRow = VGridControl1.Rows("categoryRow_Notes")
' checking whether the focused row already belongs to the category
' or becomes the category row itself
If Not (FocusedRow.HasAsParent(CategoryRow) Or FocusedRow Is CategoryRow) Then
' checking whether the focused row has a parent row
' or represents a root level row
If FocusedRow.ParentRow Is Nothing Then
' removing an object representing the focused row
' from the grid's collection of top level rows
VGridControl1.Rows.Remove(FocusedRow)
Else
' removing an object representing the focused row
' from the rows collection of its parent row
FocusedRow.ParentRow.ChildRows.Remove(FocusedRow)
End If
' adding an object representing the focused row
' to the end of the category row's chil rows collection
CategoryRow.ChildRows.Add(FocusedRow)
End If
End Sub
See Also