0

現在動作している VB.NET ASPX ファイルを開発しています。しかし、ドロップダウンリストであるこの1つの新しい入力パラメーターを追加したため、エラーが発生しました。ドロップダウンリストが正しく機能するようになりました。そのソースは SQL DataReader から取得されます。しかし、問題は、ユーザーに表示されるフィールドが基になる値と異なることです。したがって、2 次元配列リストを作成するか、次のようにマッピングを作成したいと考えています。 可視テキスト 非可視値 AAAAA 601 BBBBB 602 CCCCC 603 ...

したがって、ユーザーには、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
4

1 に答える 1

1

その前に、DropDownListのDataTextFieldDataValueFieldを設定する必要がありますDataBind

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

DataTextFieldユーザーに表示する列で、DataValueField通常は主キー列です。

選択した項目の識別子を取得するには、DropDownList のSelectedValueが必要です。

于 2011-08-12T22:25:16.350 に答える