0

DataTablesを使用して、データの複数の「レイヤー」を保存したいと思います。一部のプロシージャは、平均、絶対値、およびパーセンテージを計算します。これらの3つのレイヤーには、まったく同じ順序の行と列がありますが、値は異なります。行を削除または挿入するときは、他の2つのテーブルに対しても同様の操作を行う必要があります。誰か良いアイデアがありますか?

詳細な説明:

 Dim absTable as DataTable
 Dim meanTable as DataTable
 Dim percTable as DataTable
 abstable.rows(2).delete

この操作が他の2つのテーブルでも実行されることをどのように保証できますか?

4

1 に答える 1

0

DataSet複数の代わりに使用することをお勧めしますDataTable。なぜなら、では、プロパティwitchを使用してDataSet複数を操作できるため、正しいテーブルで操作を実行できることが保証されます。やりたいことを行うには、より高い階層のオブジェクトが必要です。DataTable.Tables(Index|TableName)

したがって、すべてのテーブルの行を削除する場合は、目的のテーブルをループして、次のdeleteメソッドを呼び出します。

Dim aDataSet as New DataSet 
Dim absTable as New DataTable 
Dim meanTable as New DataTable 
Dim percTable as New DataTable

aTable.Tables.Add(absTable) aTable.Tables.Add(meanTable) aTable.Tables.Add(percTable)

For each table as DataTable in aDataSet.Tables
    table.rows(2).delete 
Next

また、クロステーブル参照を使用して、必要な操作を確実に実行したり、実行したりすることもできます。

aDataSet.Tables(0) = aDataSet.Tables(1) 'only if the talbes 0 and 1 have same columns 

これがあなたが求めていたものであることを願っています。

DatsSetの詳細については、http: //msdn.microsoft.com/en-us/library/system.data.dataset.aspxを参照してください。

于 2012-10-04T13:46:56.327 に答える