删除单选按钮列表项



我有一个从数据库中填充的单选按钮列表,其中包含五个选项项目符号。 在某些情况下,我想删除选项项目符号 2 到 5,但令人惊讶的是我无法删除选项 3

?我正在使用以下代码:

Dim DRPlace As SqlDataReader = myCommand.ExecuteReader(CommandBehavior.CloseConnection)
rdDelPlace.DataSource = DRPlace
rdDelPlace.DataBind()
Dim ZipCode As Integer
ZipCode = CInt(txbZip.Text)
If txbZip.Text = 10240 Then
For i As Integer = 0 To 5
If i > 1 Then
rdDelPlace.Items.RemoveAt(i)
End If
Next

在上述条件下,单选按钮列表应仅显示 0 和 1 选项,但选项 3 继续显示,而选项 2、4 和 5 被删除???

知道这里出了什么问题吗?

在减少列表长度的同时,您正在删除数组位置i处的项目。这是一个非常糟糕的主意。在删除位置>=2 的任何内容之前,您应该验证您的列表是否至少包含 3 个元素。此外,如果要删除从位置 2 到 5(包括两个(的项目,这意味着您要从位置 3 开始删除 4 个元素,因此循环 4 次删除位置 2 处的元素(使用从 0 开始(

Dim DRPlace As SqlDataReader = myCommand.ExecuteReader(CommandBehavior.CloseConnection)
rdDelPlace.DataSource = DRPlace
rdDelPlace.DataBind()
Dim ZipCode As Integer
ZipCode = CInt(txbZip.Text)
If txbZip.Text = 10240 Then
For i As Integer = 1 To 4
If i > 1 && rdDelPlace.Items.Length > 1 Then
rdDelPlace.Items.RemoveAt(2)
End If
Next

最新更新