我正在尝试根据其他下拉列表的值更改下拉列表的列表项值。 drpAdult的列表值范围为0-9,drpInfant的列表值范围为0-(选择drpAdult的值)。
因此,例如,如果我在drpAdult下拉列表中选择5,则drpInfant的列表项值范围将为0-5。
我已经编写了下面的代码,但它没有填充drpInfant下拉列表中的值,我试图在drpAdult_SelectedIndexChanged事件中插入。
Protected Sub drpAdult_SelectedIndexChanged(ByVal sender As Object,
ByVal e As EventArgs) Handles drpAdult.SelectedIndexChanged
Dim count As Integer
count = drpAdult.Items.Count
Dim i As Integer
i = 0
While count > 0
i = i + 1
drpInfant.Items.Add(New ListItem(i, i))
count = count - 1
End While
End Sub
可能导致此问题的原因,我该如何解决?
答案 0 :(得分:0)
不确定“不起作用”意味着什么,但无论如何这似乎更容易:
Dim newCount = drpAdult.Items.Count + 1
For i As Int32 = 0 To newCount
Dim newItem As New ListItem(i.ToString, i.ToString)
drpInfant.Items.Add(newItem)
Next
答案 1 :(得分:0)
这些方面的东西......
drpInfant.Items.Clear()
dim n as Integer
Integer.TryParse(drpAdult.SelectedValue, n)
For i as integer = 1 to n
if n < i Then Exit For 'it's not fun when this condition happens in VB
drpInfant.Items.Add(New ListItem(i, i))
Next
答案 2 :(得分:0)
你可以试试这个。我测试了这个&amp;工作正常:
Protected Sub drpAdult_SelectedIndexChanged(sender As Object, e As EventArgs)
drpInfant.Items.Clear()
Dim count As Integer = drpAdult.SelectedIndex
Dim i As Integer = 0
While count >= 0
drpInfant.Items.Add(New ListItem(i.ToString(), i.ToString()))
i = i + 1
count = count - 1
End While
End Sub