Export (0) Print
Expand All

DataRow.GetChildRows Method (DataRelation, DataRowVersion)

Gets the child rows of a DataRow using the specified DataRelation, and DataRowVersion.

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

public DataRow[] GetChildRows(
	DataRelation relation,
	DataRowVersion version
)

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. Possible values are Default, Original, Current, and Proposed.

Return Value

Type: System.Data.DataRow[]
An array of DataRow objects.

ExceptionCondition
ArgumentException

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

ArgumentNullException

The relation is null.

RowNotInTableException

The row does not belong to the table.

VersionNotFoundException

The row does not have the requested DataRowVersion.

The DataTable also contains a collection of DataRelation objects that is returned by the ChildRelations property.

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

If Default is specified, the version that is used depends on the RowState of the row on which GetChildRows is invoked. If the row on which GetChildRows is invoked has a RowState of Modified, New, or Unchanged, the Current version of the row is used for fetching related child rows with matching values in their Current versions. If the row on which GetChildRows is invoked has a RowState of Deleted, the Original version of the row is used for fetching related child rows with matching values in their original versions.

The following example uses the GetChildRows to return the child DataRow objects for every child DataRelation in a DataTable. The value of each column with the specified version in the row is then printed.

private void GetChildRowsFromDataRelation(DataTable table ) 
{
    DataRow[] arrRows;  
    foreach(DataRelation relation in table.ChildRelations)
    {
        foreach(DataRow row in table.Rows)
        {
            arrRows = row.GetChildRows(relation, 
                DataRowVersion.Proposed);
            // Print values of rows. 
            for(int i = 0; i < arrRows.Length; i++)
            {
                foreach(DataColumn column in table.Columns)
                {
                    Console.WriteLine(arrRows[i][column]);
                }
            }
        }
    }
}

.NET Framework

Supported in: 4.5.2, 4.5.1, 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