DataRow.GetChildRows Method

Definition

获取 DataRow 的子行。Gets the child rows of a DataRow.

Overloads

GetChildRows(DataRelation)

使用指定的 DataRelation 获取此 DataRow 的子行。Gets the child rows of this DataRow using the specified DataRelation.

GetChildRows(String)

使用 DataRelation 的指定 RelationName 获取 DataRow 的子行。Gets the child rows of a DataRow using the specified RelationName of a DataRelation.

GetChildRows(DataRelation, DataRowVersion)

使用指定的 DataRelationDataRowVersion 获取 DataRow 的子行。Gets the child rows of a DataRow using the specified DataRelation, and DataRowVersion.

GetChildRows(String, DataRowVersion)

使用 DataRelation 的指定 RelationNameDataRowVersion获取 DataRow 的子行。Gets the child rows of a DataRow using the specified RelationName of a DataRelation, and DataRowVersion.

GetChildRows(DataRelation)

使用指定的 DataRelation 获取此 DataRow 的子行。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);
member this.GetChildRows : System.Data.DataRelation -> System.Data.DataRow[]
Public Function GetChildRows (relation As DataRelation) As DataRow()

Parameters

relation
DataRelation

要使用的 DataRelationThe DataRelation to use.

Returns

DataRow[]

一个 DataRow 对象数组,或长度为零的数组。An array of DataRow objects or an array of length zero.

Exceptions

关系和行不属于同一个表。The relation and row do not belong to the same table.

关系为 nullThe relation is null.

此行不属于该表。The row does not belong to the table.

该行没有此版本的数据。The row does not have this version of data.

Examples

下面的示例使用 GetChildRowsDataTable中的每个子 DataRelation 返回子 DataRow 对象。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

DataTable 还包含 ChildRelations 属性返回的 DataRelation 对象的集合。The DataTable also contains a collection of DataRelation objects that is returned by the ChildRelations property.

See also

GetChildRows(String)

使用 DataRelation 的指定 RelationName 获取 DataRow 的子行。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);
member this.GetChildRows : string -> System.Data.DataRow[]
Public Function GetChildRows (relationName As String) As DataRow()

Parameters

relationName
String

要使用的 DataRelationRelationNameThe RelationName of the DataRelation to use.

Returns

DataRow[]

一个 DataRow 对象数组,或长度为零的数组。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

DataTable 还包含 ChildRelations 属性返回的 DataRelation 对象的集合。The DataTable also contains a collection of DataRelation objects that is returned by the ChildRelations property.

GetChildRows(DataRelation, DataRowVersion)

使用指定的 DataRelationDataRowVersion 获取 DataRow 的子行。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);
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

要使用的 DataRelationThe DataRelation to use.

version
DataRowVersion

DataRowVersion 值之一,指定要获取的数据的版本。One of the DataRowVersion values specifying the version of the data to get. 可能值为 DefaultOriginalCurrentProposedPossible values are Default, Original, Current, and Proposed.

Returns

DataRow[]
DataRow 对象的数组。An array of DataRow objects.

Exceptions

关系和行不属于同一个表。The relation and row do not belong to the same table.

relationnullThe relation is null.

此行不属于该表。The row does not belong to the table.

该行没有请求的 DataRowVersionThe row does not have the requested DataRowVersion.

Examples

下面的示例使用 GetChildRowsDataTable中的每个子 DataRelation 返回子 DataRow 对象。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

DataTable 还包含 ChildRelations 属性返回的 DataRelation 对象的集合。The DataTable also contains a collection of DataRelation objects that is returned by the ChildRelations property.

使用 HasVersion 属性来确定所需的 DataRowVersion 是否存在。Use the HasVersion property to determine whether the DataRowVersion that you want exists.

如果指定 Default,则使用的版本取决于调用 GetChildRows 的行的 RowStateIf Default is specified, the version that is used depends on the RowState of the row on which GetChildRows is invoked. 如果调用 GetChildRows 的行具有 ModifiedNewUnchangedRowState,则该行的 Current 版本用于提取其当前版本中具有匹配值的相关子行。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. 如果调用 GetChildRows 的行的 RowStateDeleted,则将使用该行的 Original 版本来提取其原始版本中具有匹配值的相关子行。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

GetChildRows(String, DataRowVersion)

使用 DataRelation 的指定 RelationNameDataRowVersion获取 DataRow 的子行。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);
member this.GetChildRows : string * System.Data.DataRowVersion -> System.Data.DataRow[]
Public Function GetChildRows (relationName As String, version As DataRowVersion) As DataRow()

Parameters

relationName
String

要使用的 DataRelationRelationNameThe RelationName of the DataRelation to use.

version
DataRowVersion

DataRowVersion 值之一,指定要获取的数据的版本。One of the DataRowVersion values specifying the version of the data to get. 可能值为 DefaultOriginalCurrentProposedPossible values are Default, Original, Current, and Proposed.

Returns

DataRow[]

一个 DataRow 对象数组,或长度为零的数组。An array of DataRow objects or an array of length zero.

Exceptions

关系和行不属于同一个表。The relation and row do not belong to the same table.

relationnullThe relation is null.

此行不属于该表。The row does not belong to the table.

该行没有请求的 DataRowVersionThe row does not have the requested DataRowVersion.

Remarks

DataTable 还包含 ChildRelations 属性返回的 DataRelation 对象的集合。The DataTable also contains a collection of DataRelation objects that is returned by the ChildRelations property.

使用 HasVersion 属性来确定所需的 DataRowVersion 是否存在。Use the HasVersion property to determine whether the DataRowVersion that you want exists.

如果指定 Default,则使用的版本取决于调用 GetChildRows 的行的 RowStateIf Default is specified, the version that is used depends on the RowState of the row on which GetChildRows is invoked. 如果调用 GetChildRows 的行具有 ModifiedNewUnchangedRowState,则该行的 Current 版本用于提取其当前版本中具有匹配值的相关子行。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. 如果调用 GetChildRows 的行的 RowStateDeleted,则将使用该行的 Original 版本来提取其原始版本中具有匹配值的相关子行。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