从ASP.NET表中删除所有TableRows

时间:2014-05-22 14:31:35

标签: asp.net vb.net web

我有一个ASP.NET服务器端表,我想从中删除行。我正在尝试使用以下内容执行此操作。

For Each myRw As TableRow In tblDays.Rows
    tblDays.Rows.Remove(myRw)
Next

我收到枚举错误。我想知道是否有人对此有一个好的方法。

2 个答案:

答案 0 :(得分:1)

ForEach适用于枚举器,您无法修改ForEach循环中的枚举器。

执行以下操作以实现您想要的目标

For i AS Integer = tblDays.Rows.Count - 1 To 0 Step -1
    tblDays.Rows.RemoveAt(i)
Next

或者您可以清除行集合

tblDays.Rows.Clear()

答案 1 :(得分:1)

您无法在枚举期间修改集合(foreach)。修改意味着您无法添加,删除或替换项目。您必须使用forwhile循环或仅使用Table.Rows.Clear

tblDays.Rows.Clear()

这里是for-loop(你需要向后循环)

For i As Int32 = tblDays.Rows.Count - 1 To 0 Step -1
    tblDays.Rows.RemoveAt(i)
Next

这里是while-loop

While tblDays.Rows.Count > 0
    tblDays.Rows.RemoveAt(0)
End While