将值添加到从vb.net中的数据库填充的下拉列表中

时间:2010-02-27 02:42:18

标签: vb.net drop-down-menu

这是我的代码 -

 SqlCmd = New SqlCommand("sp_load_names", SqlCnn)
 SqlCmd.CommandType = CommandType.StoredProcedure
 SqlDR = SqlCmd.ExecuteReader()
 While SqlDR.Read
      ads_list.Items.Add(New ListItem(SqlDR(1) & ""))
 End While
 SqlDR.Close()

这将填充下拉列表数据,但在值中我需要它从存储的proc中获取“ID”字段。 存储过程发送两个参数,ID和Name。所以我填充名称,但我如何在这个值中填充id - 标记 山姆 丹尼斯

我希望我不要混淆任何人

3 个答案:

答案 0 :(得分:0)

ListItem构造函数重载之一设置text和value属性:

New ListItem("Text", "Value")

您应该能够使用SqlDR(1)SqlDR(2)访问SQL数据阅读器中的两列。

答案 1 :(得分:0)

ListItems是对象,因此您可以创建自己的简单ListItem类以包含ID和显示值

Class MyListItem
   Public ID As Integer
   Public Text As String

   Public Sub New(iID As Integer, sText As String)
      Me.ID = iID
      Me.Text = sText
   End Sub

   Public Overrides Function ToString() As String
      Return Me.Text
   End Sub
End Class

...
Dim oItem As MyListItem

While SqlDR.Read
    oItem = new MyListItem(SqlDR(0),SqlDR(1))
    ads_list.Items.Add(oItem)
End While
...

oItem = CType(ads_list.SelectedItem,MyListItem)

答案 2 :(得分:0)

SqlCmd = New SqlCommand("sp_load_names", SqlCnn)
 SqlCmd.CommandType = CommandType.StoredProcedure
 SqlDR = SqlCmd.ExecuteReader()
 While SqlDR.Read
      ads_list.Items.Add(SqlDR(1).ToString)
 End While
 SqlDR.Close()