2014-11-03 329 views
0

我使用此代码在vb.net:VB.net改变ComboBox中选定值,显示

Function GetBillingMonthsGrouped() As List(Of BillingMonthsGrouped) 
     Dim conn = New MySqlConnection() 
     Dim conn2 = New MySqlConnection() 
     Dim myCommand, myCommand2 As New MySqlCommand 
     Dim reader, reader2 As MySqlDataReader 
     Dim SQL As String 

     conn.ConnectionString = "server=" + global_variables.web_server_ip + "; user id=" + global_variables.web_server_username + "; password=" + global_variables.web_server_password + "; database=" + global_variables.web_server_database + "; " 
     conn2.ConnectionString = "server=" + global_variables.web_server_ip + "; user id=" + global_variables.web_server_username + "; password=" + global_variables.web_server_password + "; database=" + global_variables.web_server_database + "; " 

     Dim billingMonthsGrouped = New List(Of BillingMonthsGrouped) 

     'customers 
     conn.Open() 
     SQL = "select MONTH(timestamp) from billing group by MONTH(timestamp) order by MONTH(timestamp) ASC " 
     myCommand.Connection = conn 
     myCommand.CommandText = SQL 
     reader = myCommand.ExecuteReader 
     While reader.Read() 
      billingMonthsGrouped.Add(New BillingMonthsGrouped(reader.GetString(0), MonthName(reader.GetString(0)))) 
     End While 
     conn.Close() 

     Return billingMonthsGrouped 
    End Function 
    Public Class BillingMonthsGrouped 
     Public Sub New(ByVal id As String, ByVal name As String) 
      mID = id 
      mName = name 
     End Sub 

     Private mID As String 
     Public Property ID() As String 
      Get 
       Return mID 
      End Get 
      Set(ByVal value As String) 
       mID = value 
      End Set 
     End Property 

     Private mName As String 
     Public Property Name() As String 
      Get 
       Return mName 
      End Get 
      Set(ByVal value As String) 
       mName = value 
      End Set 
     End Property 
    End Class 

,然后这部分:

ComboBox3.DataSource = GetBillingMonthsGrouped() 
ComboBox3.DisplayMember = "Name" 
ComboBox3.ValueMember = "ID" 
ComboBox3.SelectedIndex = 0 

,我会需要什么样的代码用来改变的ComboBox3选择的值是当前月份

我尝试使用:

ComboBox3.SelectedValue = DateTime.Now.ToString("MM") 

但这并不会改变选定的值。我需要将月份数值和月份显示为月份名称

+0

你使用之前'ComboBox3。 SelectedValue = DateTime.Now.ToString(“MM”)',组合框中的可用值是多少?请在尝试更改SelectedValue之前指定所有可用的键/值对。另外,当时'DateTime.Now.ToString(“MM”)'的值是多少? – Neolisk 2014-11-03 13:19:35

回答

0

希望comboBox已经有月份,您需要将当前月份设置为选中状态。那么在这种情况下,你可以使用下面的代码来选择current month为所选月份

ComboBox1.SelectedIndex = Now.Month 

如果你想显示一个月份仅仅意味着你可以使用代码:

ComboBox1.SelectedText = DateTime.Today.ToString("MMMM") 
+0

combox盒子不显示所有12个月,只有那些可用 – user2710234 2014-11-03 13:04:32

+0

查看更新 – 2014-11-03 13:09:20