Vb.net 处理数据表中的多层数据?

Vb.net 处理数据表中的多层数据?,vb.net,datatable,Vb.net,Datatable,我想使用DataTables来存储多个“层”的数据。 有些程序为我计算平均值、绝对值和百分比。这三个层具有完全相同的有序行和列,但值会发生变化。 当我删除或插入一行时,其他两个表也必须执行类似的操作。有人有好主意吗 进一步解释: Dim absTable as DataTable Dim meanTable as DataTable Dim percTable as DataTable abstable.rows(2).delete 如何保证此操作也在其他两个表上执行?您可能需要使用数

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

进一步解释:

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

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

您可能需要使用
数据集而不是多个
数据表。因为,在
数据集中
,您可以使用
.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的更多详细信息,请参阅。

为什么不通过为每种类型的计算结果添加单独的列来将它们全部存储在同一个表中?谢谢,这看起来很有希望。