0

我想使用 DataTables 来存储多个“层”数据。一些程序为我计算平均值、绝对值和百分比。这三层具有完全相同的有序行和列,但值会发生变化。当我删除或插入一行时,其他两个表也必须进行类似的操作。有人有好主意吗?

进一步说明:

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

我如何保证这个操作也在其他两个表上执行?

4

1 回答 1

0

您可能想要使用 aDataSet而不是 multiple DataTable。因为,在 中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 回答