Vb.Net如何创建月/年下拉列表

时间:2014-01-29 08:33:51

标签: asp.net vb.net

创建两个下拉列表的最佳方法是一个月(可能是月份名称),另一个下载多年?

他们应该使用以下格式返回两个值:1年(或2,3等)数月和2014年(或2013年,2012年等)多年

有什么建议吗?

4 个答案:

答案 0 :(得分:4)

循环将是您解决方案的最佳选择。 创建一年的for循环,如下所示

 for(int i=2000;i<2020;i++)
 {
      ddYear.Items.Add(new ListItem(i.ToString(), i.ToString());
 }

和月份

 DateTime month = Convert.ToDateTime("1/1/2000");
 for (int i = 0; i < 12; i++)
 {
      DateTime NextMont = month.AddMonths(i);
      ListItem list = new ListItem();
      list.Text = NextMont.ToString("MMMM");
      list.Value = NextMont.Month.ToString();
      MyddlMonthList.Items.Add(list);
 }

在VB中

Dim month As DateTime = Convert.ToDateTime("1/1/2000")
  For i As Integer = 0 To 11
    Dim NextMont As DateTime = month.AddMonths(i)
    Dim list As New ListItem()
    list.Text = NextMont.ToString("MMMM")
    list.Value = NextMont.Month.ToString()
    MyddlMonthList.Items.Add(list)
  Next

答案 1 :(得分:0)

protected void Page_Load(object sender, EventArgs e)
{

DropDownList ddltmp = new DropDownList();
int curYear = DateTime.Now.Year;

for(int i = 1; i < 76; ++i)
{

ListItem tmp = new ListItem();
tmp.Value = curYear.ToString();

tmp.Text = curYear.ToString();

ddltmp.Items.Add(tmp);

curYear = DateTime.Now.AddYears(i).Year;
}

this.form1.Controls.Add(ddltmp);
}

答案 2 :(得分:0)

如果您希望获得前几年的当前年份,这是最简单的答案:)

 int curYear = DateTime.Now.Year;

        for (int i = curYear; i >= 2006; i--)
        {
            ddYear.Items.Add(i.ToString());

        }

答案 3 :(得分:0)

其他方式我们可以这样做,

VB列表框,

Dim months = System.Globalization.DateTimeFormatInfo.InvariantInfo.MonthNames
For Each month As String In months
    If Not String.IsNullOrEmpty(month) Then
        ListBox1.Items.Add(month)
    End If
Next

或者其他

ListBox1.DataSource = System.Globalization.DateTimeFormatInfo.InvariantInfo.MonthNames

VB Combobox,

Dim months = System.Globalization.DateTimeFormatInfo.InvariantInfo.MonthNames
For Each month As String In months
    If Not String.IsNullOrEmpty(month) Then
        ComboBox1.Items.Add(month)
    End If
Next

或者其他

ComboBox1.DataSource = System.Globalization.DateTimeFormatInfo.InvariantInfo.MonthNames