DataRow.GetParentRow Method (DataRelation)


Gets the parent row of a DataRow using the specified DataRelation.

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

public DataRow GetParentRow(
	DataRelation relation


Type: System.Data.DataRelation

The DataRelation to use.

Return Value

Type: System.Data.DataRow

The parent DataRow of the current row.

Exception Condition

The relation does not belong to the DataTable.

The row is null.


A child row has multiple parents.


This row does not belong to the child table of the DataRelation object.


The row does not belong to a table.

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.

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 void GetParentRowForTable(DataTable thisTable, 
    DataRelation relation)
    if(thisTable ==null){return;}
    // For each row in the table, print column 1 
    // of the parent DataRow.
    DataRow parentRow;
    foreach(DataRow row in thisTable.Rows)
        parentRow = row.GetParentRow(relation);
        Console.Write("\table child row: " + row[1]);
        Console.Write("\table parent row: " + parentRow[1]+ "\n");

private void CallGetParentRowForTable()
    // An example of calling the function.
    DataTable thisTable = DataSet1.Tables["Products"];
    DataRelation relation = thisTable.ParentRelations[0];
    GetParentRowForTable(thisTable, relation);

.NET Framework
Available since 1.1
Return to top