2014-05-22 120 views
0

我有一个ASP.NET服务器端表,我想删除它的行。我正在尝试使用以下方法来执行此操作。删除ASP.NET表中的所有表行

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

我得到一个枚举错误。我想知道是否有人对此有所了解。

回答

1

枚举(foreach)过程中,无法修改数据收集什么。修改意味着您不能添加,删除或替换项目。你要么必须使用forwhile环或干脆Table.Rows.Clear

tblDays.Rows.Clear() 

这里的for循环(您需要循环向后)

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

这里的while循环

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

ForEach与枚举器一起使用,您无法修改ForEach循环内的枚举器。

执行以下操作来实现你想要

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

也可以清除行集合

tblDays.Rows.Clear() 
+0

oops:P ......正确,谢谢:) –