DataRow.GetChildRows Method    
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
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)
- Source:
- DataRow.cs
- Source:
- DataRow.cs
- Source:
- DataRow.cs
- Source:
- DataRow.cs
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)
- Source:
- DataRow.cs
- Source:
- DataRow.cs
- Source:
- DataRow.cs
- Source:
- DataRow.cs
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)
- Source:
- DataRow.cs
- Source:
- DataRow.cs
- Source:
- DataRow.cs
- Source:
- DataRow.cs
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
- ChildRelations
- DataRelation
- DataRowVersion
- GetParentRow(String)
- GetParentRows(String)
- Relations
- Using DataSets in ADO.NET
Applies to
GetChildRows(String, DataRowVersion)
- Source:
- DataRow.cs
- Source:
- DataRow.cs
- Source:
- DataRow.cs
- Source:
- DataRow.cs
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 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.