2011-08-15 11 views
0

VB.NETでドロップダウンリストを初期化しようとしていますが、ドロップダウンリストに値が入力されていません。 DataTextFieldがドロップダウンリストのDataValuesと異なるようにします。ドロップダウンリストには一連の文字列が表示されます。 DataValuesは数値でなければなりません。VB.NETの多次元ドロップダウンリストにどのように埋め込むのですか?

どうすれば実装できますか?ここに私のコードの抜粋は、今で次のように

Dim ProductList As New ArrayList() 
Dim ProdCodeSearch As String 
Dim InstrumentSearch As String 

pcSQL = " select distinct instrument_name AS [instrument_name], product_code AS [product_code] from FRUD.tblXref order by instrument_name " 
Dim DBConn As SqlConnection 
DBConn = New SqlConnection(ConfigurationManager.AppSettings("AMDMetricsDevConnectionString")) 
DBConn.Open() 
Dim reader As SqlDataReader 
Dim DBCommand As New SqlCommand(pcSQL, DBConn)  
reader = DBCommand.ExecuteReader() 

While reader.Read() 
End While 

dProdCodeSearch.Items.Add(reader(0)) 
dProdCodeSearch.DataTextField = "instrument_name" 
dProdCodeSearch.DataValueField = "product_code" 
dProdCodeSearch.DataBind() 
reader.Close() 

答えて

0

は、あなたがこのようなものを使用することができ、私はあなたがASP.NET

Dim ProductList As New ArrayList() 
Dim ProdCodeSearch As String 
Dim InstrumentSearch As String 

pcSQL = " select distinct instrument_name AS [instrument_name], product_code AS [product_code] from FRUD.tblXref order by instrument_name " 
Dim DBConn As SqlConnection 
DBConn = New SqlConnection(ConfigurationManager.AppSettings("AMDMetricsDevConnectionString")) 
DBConn.Open() 
Dim reader As SqlDataReader 
Dim DBCommand As New SqlCommand(pcSQL, DBConn)  
reader = DBCommand.ExecuteReader() 

While reader.Read() 
    dProdCodeSearch.Items.Add(reader(0)) 
End While 

dProdCodeSearch.DataTextField = "instrument_name" 
dProdCodeSearch.DataValueField = "product_code" 
reader.Close() 
+0

これは参考になりました。しかし、私は基本的な値(データ値)を取得しようとしています。上記のコードは、ドロップダウンリストコントロールとdProdCodeSearch.SelectedValue行の両方にDataTextFieldを返します。また、コードスニペットはreader(0)の項目を追加しますが、reader(1)はどうでしょうか?それは私のSQLクエリにデータを取り込もうとしています。理にかなっている? – salvationishere

+0

2つのデータ列を持つリーダは1つだけです。 dProdCodeSearchのアイテムリストにリーダーの各行を追加しています。これを実行すると、期待している表示値が表示されますか? dataValueフィールドは表示されません。選択後に価値を得ることに問題がありますか? –

+0

あなたは何をprobしています。最初に、データをオブジェクトのリストに読み込み、アイテムコレクション(上のコードスニペットのように)に追加するか、2)ドロップダウンリストでDataSourceプロパティを設定し、データバインド。 – iamkrillin

1

を使用していると仮定し、あなたのコードを変更してみてください?

While reader.Read() 
    Dim ListItem as new ListItem 
    ListItem.Text = reader(0) 
    ListItem.Value = reader(1) 
    dProdCodeSearch.Items.Add(ListItem) 
End While 

それは通常私の作品..

関連する問題