Export (0) Print
Expand All

DataRow.GetParentRow Method (DataRelation, DataRowVersion)

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

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

'Declaration
Public Function GetParentRow ( _
	relation As DataRelation, _
	version As DataRowVersion _
) As DataRow

Parameters

relation
Type: System.Data.DataRelation

The DataRelation to use.

version
Type: System.Data.DataRowVersion

One of the DataRowVersion values specifying the version of the data to get.

Return Value

Type: System.Data.DataRow
The parent DataRow of the current row.

ExceptionCondition
ArgumentNullException

The row is Nothing.

The relation does not belong to this table's parent relations.

DataException

A child row has multiple parents.

InvalidConstraintException

The relation's child table is not the table the row belongs to.

RowNotInTableException

The row does not belong to a table.

VersionNotFoundException

The row does not have this version of data.

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 return the child DataRow objects for every child DataRelation in a DataTable. The value of each column in the row is then printed.

Private Sub GetParentRowForTable _
    (thisTable As DataTable, relation As DataRelation, _
    version As DataRowVersion)
    If thisTable Is Nothing Then 
        Return 
    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, _
        DataRowVersion.Original)
End Sub

.NET Framework

Supported in: 4.6, 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

Show:
© 2014 Microsoft