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()
これは参考になりました。しかし、私は基本的な値(データ値)を取得しようとしています。上記のコードは、ドロップダウンリストコントロールとdProdCodeSearch.SelectedValue行の両方にDataTextFieldを返します。また、コードスニペットはreader(0)の項目を追加しますが、reader(1)はどうでしょうか?それは私のSQLクエリにデータを取り込もうとしています。理にかなっている? – salvationishere
2つのデータ列を持つリーダは1つだけです。 dProdCodeSearchのアイテムリストにリーダーの各行を追加しています。これを実行すると、期待している表示値が表示されますか? dataValueフィールドは表示されません。選択後に価値を得ることに問題がありますか? –
あなたは何をprobしています。最初に、データをオブジェクトのリストに読み込み、アイテムコレクション(上のコードスニペットのように)に追加するか、2)ドロップダウンリストでDataSourceプロパティを設定し、データバインド。 – iamkrillin