次の方法で共有


DataTable.ParentRelations プロパティ

この DataTable の親リレーションシップのコレクションを取得します。

Public ReadOnly Property ParentRelations As DataRelationCollection
[C#]
public DataRelationCollection ParentRelations {get;}
[C++]
public: __property DataRelationCollection* get_ParentRelations();
[JScript]
public function get ParentRelations() : DataRelationCollection;

プロパティ値

テーブルの親リレーションシップが格納されている DataRelationCollectionDataRelation オブジェクトが存在しない場合は null 値。

使用例

[Visual Basic, C#, C++] ParentRelations プロパティを使用して、 DataTable 内の各親 DataRelation を返す例を次に示します。次に、 DataRowGetParentRows メソッドで各リレーションシップを引数として使用して、行の配列を返します。次に、行の各列の値が出力されます。

 
Private Sub GetChildRowsFromDataRelation(myTable As DataTable)
    Dim arrRows() As DataRow
    Dim myRel As DataRelation, myRow As DataRow
    Dim dc As DataColumn, i As Integer     
    For Each myRel In  myTable.ParentRelations
        For Each myRow In  myTable.Rows
            arrRows = myRow.GetParentRows(myRel)
            ' Print values of rows.             
            For i = 0 To arrRows.Length - 1                 
                For Each dc In  myTable.Columns
                    Console.WriteLine(arrRows(i)(dc))
                Next dc
            Next i
        Next myRow
    Next myRel
End Sub

[C#] 
private void GetChildRowsFromDataRelation(DataTable myTable){
   DataRow[] arrRows;
   foreach(DataRelation myRel in myTable.ParentRelations){
     foreach(DataRow myRow in myTable.Rows){
         arrRows = myRow.GetParentRows(myRel);
         // Print values of rows.
         for(int i = 0; i < arrRows.Length; i++){
            foreach(DataColumn dc in myTable.Columns){
               Console.WriteLine(arrRows[i][dc]);
            }
         }
      }
   }
}

[C++] 
private:
 void GetChildRowsFromDataRelation(DataTable* myTable){
    DataRow* arrRows[];
    System::Collections::IEnumerator* myEnum = myTable->ParentRelations->GetEnumerator();
    while (myEnum->MoveNext())
    {
       DataRelation* myRel = __try_cast<DataRelation*>(myEnum->Current);
       System::Collections::IEnumerator* myEnum1 = myTable->Rows->GetEnumerator();
       while (myEnum1->MoveNext())
       {
          DataRow* myRow = __try_cast<DataRow*>(myEnum1->Current);
          arrRows = myRow->GetParentRows(myRel);
          // Print values of rows.
          for(int i = 0; i < arrRows->Length; i++){
             System::Collections::IEnumerator* myEnum2 = myTable->Columns->GetEnumerator();
             while (myEnum2->MoveNext())
             {
                DataColumn* dc = __try_cast<DataColumn*>(myEnum2->Current);
                Console::WriteLine(arrRows[i]->Item[dc]);
             }
          }
       }
    }
 }

[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン 言語のフィルタ をクリックします。

必要条件

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ, .NET Compact Framework - Windows CE .NET

参照

DataTable クラス | DataTable メンバ | System.Data 名前空間 | ChildRelations | DataRelation | DataSet | Relations