【发布时间】:2016-03-16 16:22:58
【问题描述】:
我试图让我的标签根据我的 cbo 选择显示信息。 (即 cbo = Class Name 然后标签将显示类标题和单位。)
Dim l As Integer
'Connect to Database and get the registration information
Using cnnOLEDB = New OleDbConnection(strConnectionString)
' Query the classschedule table for start of semester datas
Using cmdOleDB = New OleDbCommand("SELECT [CourseTitle], [ShortTitle],[Units] FROM [Course]", cnnOLEDB)
cnnOLEDB.Open()
Using rdrOLEDB = cmdOleDB.ExecuteReader
While rdrOLEDB.Read
CboCourse.Items.Add(rdrOLEDB.Item(0).ToString)
CourseArray(l, 0) = rdrOLEDB.Item(0).ToString
CourseArray(l, 1) = rdrOLEDB.Item(1).ToString
CourseArray(l, 2) = rdrOLEDB.Item(2).ToString
l = l + 1
lblCourseTitle.Text = (rdrOLEDB.Item(1).ToString)
lblUnits.Text = (rdrOLEDB.Item(2).ToString)
' CboFormat.Items.Add()
' CboDayTime.Items.Add()
' CboLocation.Items.Add()
' CboName.Items.Add()
End While
End Using
End Using
End Using
我知道这可能很容易做到,但我想不通。
我的信息位于从 MS-access 数据库中读取的数组中
【问题讨论】:
-
一分钱可能要掉了...你在 cbo 中只有
rdrOLEDB.Item(0)(标题?),所以在SelectedIndexChanged事件中,你必须在该数组中找到它才能发布(x,1) 和 (x,2) 到标签。如果 cbo 绑定到 Course 对象列表,则可以使用cbo.SelectedItem.ShortTitle等。由于您必须将它们穿梭到该数组中,因此您应该硬着头皮使用列表并节省大量时间并在其他地方编码恐惧
标签: vb.net winforms ms-access combobox