【问题标题】:rolling 12 month drop down list滚动 12 个月下拉列表
【发布时间】:2015-04-24 14:47:32
【问题描述】:

我想知道是否有人可以提供帮助。

我想填充一个显示过去 12 个月的下拉列表

所以列表中的项目将是

4 月 14 日

5 月 14 日

6 月 14 日

7 月 14 日

8 月 14 日

9 月 14 日

...

4 月 15 日

但下个月列表将更改为 5 月 14 日

6 月 14 日

7 月 14 日

...

5 月 15 日

有人知道怎么做吗?

非常感谢

【问题讨论】:

  • 和你试过的代码?
  • 您的列表中有 13 个月,而不是 12 个月。

标签: sql asp.net vb.net


【解决方案1】:
Dim MyddlMonthList As ComboBox
Public Sub AddMonthsToDropDown()
    Dim month As DateTime = DateTime.Today
    For i As Integer = 11 To 0 Step -1
        Dim NextMont As DateTime = month.AddMonths(-i)
        MyddlMonthList.Items.Add(NextMont.ToString("MMMM") + " " + NextMont.ToString("yy"))
    Next
End Sub

希望这对您有所帮助。

【讨论】:

  • 谢谢,使用您的代码我设法对其进行了调整,以便它确实产生了我需要的 13 个月。
【解决方案2】:

这应该可以...

Dim now As DateTime = DateTime.Today.AddYears(-1)
For index As Int32 = 0 To 12
    ddl.Items.Add("{0} {1}", now.ToString("MMM"), now.ToString("yy"))

    now = now.AddMonths(1)
Next

【讨论】:

  • 这里有点错误。您的 for 循环将提供 13 个月
  • @EricRobinson:你是对的,但是在给出的例子中,OP 有 13 个月(尽管标题提到了 12 个月)。
  • 不幸的是,这不起作用,因为它说 Add 不接受那么多的争论:-(
猜你喜欢
  • 1970-01-01
  • 2012-06-15
  • 2019-01-04
  • 1970-01-01
  • 2013-10-06
  • 1970-01-01
  • 2023-03-11
  • 2019-01-24
  • 2017-06-05
相关资源
最近更新 更多