簡體   English   中英

使用循環將整數填充到下拉列表

[英]Populate integers to dropdownlist using a loop

無法弄清楚為什么我的程序不會使用循環填充我的DropDownList

到目前為止,我已經嘗試過這兩種情況:

'Fill in the year box from current year to 100 years ago.
'(Safe to assume no one over 100 will be signing up for site)

Dim CurYear As Integer = Date.Now.Year
Dim CurYearMinus100 As Integer = CurYear - 100
Dim Index As Integer = 0

Do While CurYear >= CurYearMinus100
    DropDownListYear.Items.Insert(Index, CurYear)
    Index += 1
    CurYear -= 1
Loop

我也嘗試使用.Add()功能而不是insert:

Dim CurYear As Integer = Date.Now.Year
Dim CurYearMinus100 As Integer = CurYear - 100

Do While CurYear >= CurYearMinus100
    DropDownListYear.Items.Add(Index)
    CurYear -= 1
Loop

不確定為什么需要Index ,但這段代碼可以正常工作:

Dim CurYear As Integer = Date.Now.Year
Dim CurYearMinus100 As Integer = CurYear - 100

Do While CurYear >= CurYearMinus100
    DropDownListYear.Items.Add(New ListItem(CurYear.ToString(), CurYear.ToString()))
    CurYear -= 1
Loop

我個人是For ... Next語句的粉絲,帶有遞減的Step參數。

可選的。 數字表達式。 計數器每次循環遞增的量。

你的例子是:

Dim currentYear = Date.Now.Year

For year = currentYear To currentYear - 100 Step -1

   DropDownListYear.Items.Add(New ListItem(year.ToString(), year.ToString()))

Next

替換這個:

DropDownListYear.Items.Insert(Index, CurYear)

附:

DropDownListYear.Items.Insert(Index, new ListItem(CurYear.ToString(), CurYear.ToString()))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM