处理DataTables中的多个数据层?

时间:2012-10-04 13:04:55

标签: vb.net datatable

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

进一步解释:

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

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

1 个答案:

答案 0 :(得分:0)

您可能希望使用DataSet而不是多个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