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)
Parameters
- relationName
- Type: System.String
The RelationName of a DataRelation.
- version
- Type: System.Data.DataRowVersion
One of the DataRowVersion values.
| Exception | Condition |
|---|---|
| ArgumentException | The relation and row do not belong to the same table. |
| ArgumentNullException | The relation is null. |
| DataException | A child row has multiple parents. |
| RowNotInTableException | The row does not belong to the table. |
| VersionNotFoundException | 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 void GetParentRowForTable(DataTable thisTable, string 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("\t child row: " + row[1]); Console.Write("\t 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.RelationName, DataRowVersion.Original); }
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.