2010-02-27 92 views
0

這是我的代碼 -值添加到在vb.net從數據庫中填充的下拉列表

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() 

這將填充下拉列表數據,但在價值我需要它拿起「ID」字段來自存儲過程。 存儲的proc發送兩個參數,ID和Name。所以我填寫的名字,但我怎麼填充ID的價值這樣的 - 馬克 山姆 丹尼斯

我希望我不是迷惑人

回答

0

其中一個列表項的構造函數的重載集文本和值屬性:

New ListItem("Text", "Value")

您應該能夠使用SqlDR(1)SqlDR(2)的SQL數據讀取器訪問兩列。

+0

也沒有工作,因爲它只是追加他們 – unire

+0

你能發佈您的代碼? – tbreffni

0

listItems中的對象,這樣你就可以創建自己的簡單列表項類同時包含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) 
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() 
+2

歡迎來到StackOverflow,我們感謝您的幫助。請不要只發布代碼,一個簡短的解釋可能會有用。 –

相關問題