DataRow.GetChildRows Method

Definition

Gets the child rows of a DataRow.

Overloads

GetChildRows(DataRelation)

Gets the child rows of this DataRow using the specified DataRelation.

GetChildRows(String)

Gets the child rows of a DataRow using the specified RelationName of a DataRelation.

GetChildRows(DataRelation, DataRowVersion)

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

GetChildRows(String, DataRowVersion)

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

GetChildRows(DataRelation)

Gets the child rows of this DataRow using the specified DataRelation.

public:
 cli::array <System::Data::DataRow ^> ^ GetChildRows(System::Data::DataRelation ^ relation);
public System.Data.DataRow[] GetChildRows (System.Data.DataRelation? relation);
public System.Data.DataRow[] GetChildRows (System.Data.DataRelation relation);
member this.GetChildRows : System.Data.DataRelation -> System.Data.DataRow[]
Public Function GetChildRows (relation As DataRelation) As DataRow()

Parameters

relation
DataRelation

The DataRelation to use.

Returns

An array of DataRow objects or an array of length zero.

Exceptions

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

The relation is null.

The row does not belong to the table.

The row does not have this version of data.

Examples

The following example uses the GetChildRows 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 GetChildRowsFromDataRelation(DataTable table)
{
    DataRow[] arrRows;
    foreach(DataRelation relation in table.ChildRelations)
    {
        foreach(DataRow row in table.Rows)
        {
            arrRows = row.GetChildRows(relation);
            // Print values of rows.
            for(int i = 0; i < arrRows.Length; i++)
            {
                foreach(DataColumn column in table.Columns)
                {
                    Console.WriteLine(arrRows[i][column]);
                }
            }
        }
    }
}
Private Sub GetChildRowsFromDataRelation(table As DataTable)
    Dim relation As DataRelation
    Dim arrRows() As DataRow
    Dim row As DataRow
    Dim i As Integer
    Dim column As DataColumn 
 
    For Each relation In table.ChildRelations
      For Each row In table.Rows
          arrRows = row.GetChildRows(relation)
          ' Print values of rows.
          For i = 0 To arrRows.GetUpperBound(0)
             For Each column in table.Columns
                Console.WriteLine(arrRows(i)(column))
             Next column
          Next i
       Next row
    Next relation
 End Sub

Remarks

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

See also

Applies to

GetChildRows(String)

Gets the child rows of a DataRow using the specified RelationName of a DataRelation.

public:
 cli::array <System::Data::DataRow ^> ^ GetChildRows(System::String ^ relationName);
public System.Data.DataRow[] GetChildRows (string? relationName);
public System.Data.DataRow[] GetChildRows (string relationName);
member this.GetChildRows : string -> System.Data.DataRow[]
Public Function GetChildRows (relationName As String) As DataRow()

Parameters

relationName
String

The RelationName of the DataRelation to use.

Returns

An array of DataRow objects or an array of length zero.

Exceptions

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

The row does not belong to the table.

Remarks

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

Applies to

GetChildRows(DataRelation, DataRowVersion)

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

public:
 cli::array <System::Data::DataRow ^> ^ GetChildRows(System::Data::DataRelation ^ relation, System::Data::DataRowVersion version);
public System.Data.DataRow[] GetChildRows (System.Data.DataRelation? relation, System.Data.DataRowVersion version);
public System.Data.DataRow[] GetChildRows (System.Data.DataRelation relation, System.Data.DataRowVersion version);
member this.GetChildRows : System.Data.DataRelation * System.Data.DataRowVersion -> System.Data.DataRow[]
Public Function GetChildRows (relation As DataRelation, version As DataRowVersion) As DataRow()

Parameters

relation
DataRelation

The DataRelation to use.

version
DataRowVersion

One of the DataRowVersion values specifying the version of the data to get. Possible values are Default, Original, Current, and Proposed.

Returns

An array of DataRow objects.

Exceptions

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

The relation is null.

The row does not belong to the table.

The row does not have the requested DataRowVersion.

Examples

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]);
                }
            }
        }
    }
}
Private Sub GetChildRowsFromDataRelation(table As DataTable)
    Dim relation As DataRelation
    Dim arrRows() As DataRow
    Dim row As DataRow
    Dim i As Integer
    Dim column As DataColumn 
 
    For Each relation In table.ChildRelations
      For Each row In table.Rows
          arrRows = row.GetChildRows(relation, _
                DataRowVersion.Proposed)
          ' Print values of rows.
          For i = 0 To arrRows.GetUpperBound(0)
             For Each column in table.Columns
                Console.WriteLine(arrRows(i)(column))
             Next column
          Next i
       Next row
    Next relation
End Sub

Remarks

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.

See also

Applies to

GetChildRows(String, DataRowVersion)

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

public:
 cli::array <System::Data::DataRow ^> ^ GetChildRows(System::String ^ relationName, System::Data::DataRowVersion version);
public System.Data.DataRow[] GetChildRows (string? relationName, System.Data.DataRowVersion version);
public System.Data.DataRow[] GetChildRows (string relationName, System.Data.DataRowVersion version);
member this.GetChildRows : string * System.Data.DataRowVersion -> System.Data.DataRow[]
Public Function GetChildRows (relationName As String, version As DataRowVersion) As DataRow()

Parameters

relationName
String

The RelationName of the DataRelation to use.

version
DataRowVersion

One of the DataRowVersion values specifying the version of the data to get. Possible values are Default, Original, Current, and Proposed.

Returns

An array of DataRow objects or an array of length zero.

Exceptions

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

The relation is null.

The row does not belong to the table.

The row does not have the requested DataRowVersion.

Remarks

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.

Applies to