2011-08-12 29 views
0

現在作業中のVB.NET ASPXファイルを開発中です。しかし、これでエラーが発生しました。この1つの新しい入力パラメータをドロップダウンリストに追加しました。ドロップダウンリストが正しく機能するようになりました。そのソースはSQL DataReaderに由来します。しかし、問題は、ユーザーが参照すべきフィールドが基礎となる値と異なることです。だから私は、次のようにマッピングを作成何とか2次元配列のリストを作成したいか: 目に見えるテキストの目に見えない価値 AAAAA 601 BBBBB 602 CCCCC 603 ...VB.NET多次元arraylistの書き方は?

したがって、ユーザーはAAAAA、BBBBBを、単に表示されるはずですCCCCCなどを選択肢として使用します。彼らは「BBBBB」を選択した場合しかし、その後、私のSQLクエリは、ここでフィールド= 602

にレコードをフィルターしなければならない私のコードの抜粋は以下のようになります。

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

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

     While reader.Read() 
     ProductList.Add(reader(0),reader(1)) 
     End While 

     dProdCodeSearch.DataSource = ProductList(0) 
     dProdCodeSearch.DataBind() 
     reader.Close() 

     ProdCodeSearch = dProdCodeSearch.SelectedValue 

答えて

1

あなたがDataTextFieldとのDataValueFieldを設定する必要がありますあなたの前にDropDownList DataBindそれ。

dProdCodeSearch.DataSource = reader 
dProdCodeSearch.DataTextField = "instrument_name" 
dProdCodeSearch.DataValueField = "product_code"  
dProdCodeSearch.DataBind() 

DataTextFieldは、ユーザーが見たい列であるとDataValueFieldは、通常は主キー列です。

選択したアイテムの識別子を取得するには、ドロップダウンリストのが必要です。

関連する問題