DataRow.GetParentRow Method (String, DataRowVersion)


Gets the parent row of a DataRow using the specified RelationName of a DataRelation, and DataRowVersion.

Namespace:   System.Data
Assembly:  System.Data (in System.Data.dll)

Public Function GetParentRow (
	relationName As String,
	version As DataRowVersion
) As DataRow


Type: System.String

The RelationName of a DataRelation.

Type: System.Data.DataRowVersion

One of the DataRowVersion values.

Return Value

Type: System.Data.DataRow

The parent DataRow of the current row.

Exception Condition

The relation and row do not belong to the same table.


The relation is null.


A child row has multiple parents.


The row does not belong to the table.


The row does not have the requested DataRowVersion.

In a DataSet, the collection of all parent DataRelation objects for the data set is returned by the GetParentRows method.

The DataTable also contains a collection of DataRelation objects, returned by the ParentRelations property.

Use the HasVersion property to determine whether the DataRowVersion that you want exists.

The following example uses the GetParentRow to print a value from each parent row of each DataRow in a DataTable.

Private Sub GetParentRowForTable _
    (thisTable As DataTable, relation As String, _
    version As DataRowVersion)
     If thisTable Is Nothing Then
     End If
     ' For each row in the table, print column 1 
     ' of the parent DataRow.
     Dim parentRow As DataRow
     Dim row As DataRow
     For Each row In  thisTable.Rows
         parentRow = row.GetParentRow(relation, version)
         Console.Write(ControlChars.Tab & " child row: " _
            & row(1).ToString())
         Console.Write(ControlChars.Tab & " parent row: " _
            & parentRow(1).ToString() & ControlChars.Cr)
     Next row
End Sub

Private Sub CallGetParentRowForTable()
     ' An example of calling the function.
     Dim thisTable As DataTable = DataSet1.Tables("Products")
     Dim relation As DataRelation = thisTable.ParentRelations(0)
     ' Print only original versions of parent rows.
     GetParentRowForTable(thisTable, relation.RelationName, _
End Sub

.NET Framework
Available since 1.1
Return to top