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

public DataRow GetParentRow (
	DataRelation relation,
	DataRowVersion version
public DataRow GetParentRow (
	DataRelation relation, 
	DataRowVersion version
public function GetParentRow (
	relation : DataRelation, 
	version : DataRowVersion
) : DataRow



The DataRelation to use.


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

Return Value

The parent DataRow of the current row.

Exception typeCondition


The row is a null reference (Nothing in Visual Basic).

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


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


The row does not belong to a table.


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 void GetParentRowForTable(DataTable thisTable, 
    DataRelation relation,
    DataRowVersion version) 
    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, version);
        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];
    // Print only original versions of parent rows.
    GetParentRowForTable(thisTable, relation,

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

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

.NET Framework

Supported in: 2.0, 1.1, 1.0

.NET Compact Framework

Supported in: 2.0, 1.0

Community Additions